[INFO] cloning repository https://github.com/hugopeixoto/tcg-engine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hugopeixoto/tcg-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhugopeixoto%2Ftcg-engine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhugopeixoto%2Ftcg-engine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1fd20cad31dbf49406e9db1b656d290cacb0b737 [INFO] linting hugopeixoto/tcg-engine against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhugopeixoto%2Ftcg-engine" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/hugopeixoto/tcg-engine [INFO] finished tweaking git repo https://github.com/hugopeixoto/tcg-engine [INFO] tweaked toml for git repo https://github.com/hugopeixoto/tcg-engine written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hugopeixoto/tcg-engine on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/hugopeixoto/tcg-engine 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" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] | [INFO] [stderr] = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 713fd9c5cd35a8e92c99da2b53c0e916f934ef5cc500ac68302418b96968bcd5 [INFO] running `Command { std: "docker" "start" "-a" "713fd9c5cd35a8e92c99da2b53c0e916f934ef5cc500ac68302418b96968bcd5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "713fd9c5cd35a8e92c99da2b53c0e916f934ef5cc500ac68302418b96968bcd5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "713fd9c5cd35a8e92c99da2b53c0e916f934ef5cc500ac68302418b96968bcd5", kill_on_drop: false }` [INFO] [stdout] 713fd9c5cd35a8e92c99da2b53c0e916f934ef5cc500ac68302418b96968bcd5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5df45c6be409848577483fd9538e5ee50c17b5f68d34ebab8b346eaf812a2e2d [INFO] running `Command { std: "docker" "start" "-a" "5df45c6be409848577483fd9538e5ee50c17b5f68d34ebab8b346eaf812a2e2d", kill_on_drop: false }` [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] | [INFO] [stderr] = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking ptcg-core v0.1.0 (/opt/rustwide/workdir/ptcg-core) [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> ptcg-core/src/engine.rs:1558:9 [INFO] [stdout] | [INFO] [stdout] 1558 | self.state.side(player).hand.len() - 1 >= n [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `self.state.side(player).hand.len() > n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] = note: `#[warn(clippy::int_plus_one)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> ptcg-core/src/engine.rs:1558:9 [INFO] [stdout] | [INFO] [stdout] 1558 | self.state.side(player).hand.len() - 1 >= n [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `self.state.side(player).hand.len() > n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] = note: `#[warn(clippy::int_plus_one)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ptcg-core/src/state.rs:1078:13 [INFO] [stdout] | [INFO] [stdout] 1078 | let mut in_play = side.in_play_mut(&in_play.id).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> ptcg-core/src/state.rs:1078:13 [INFO] [stdout] | [INFO] [stdout] 1078 | let mut in_play = side.in_play_mut(&in_play.id).unwrap(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Nidoking11` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/base/pokemon.rs:406:12 [INFO] [stdout] | [INFO] [stdout] 406 | pub struct Nidoking11 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `thrash` and `toxic` are never used [INFO] [stdout] --> ptcg-core/src/sets/base/pokemon.rs:431:12 [INFO] [stdout] | [INFO] [stdout] 430 | impl Nidoking11 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 431 | pub fn thrash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | pub fn toxic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clefable1` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Clefable1 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `metronome` and `minimize` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Clefable1 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 31 | pub fn metronome(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn minimize(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Electrode2` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct Electrode2 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `tackle` and `chain_lightning` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl Electrode2 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 67 | pub fn tackle(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn chain_lightning(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Flareon3` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct Flareon3 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `flamethrower` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 102 | impl Flareon3 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 103 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn flamethrower(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Jolteon4` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct Jolteon4 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `pin_missile` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 143 | impl Jolteon4 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 144 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn pin_missile(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MrMime6` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct MrMime6 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `meditate` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 222 | impl MrMime6 { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 223 | pub fn meditate(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Nidoqueen7` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 231 | pub struct Nidoqueen7 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `boyfriends` and `mega_punch` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 255 | impl Nidoqueen7 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 256 | pub fn boyfriends(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn mega_punch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pidgeot8` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:267:12 [INFO] [stdout] | [INFO] [stdout] 267 | pub struct Pidgeot8 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wing_attack` and `hurricane` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:292:12 [INFO] [stdout] | [INFO] [stdout] 291 | impl Pidgeot8 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 292 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn hurricane(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pinsir9` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:303:12 [INFO] [stdout] | [INFO] [stdout] 303 | pub struct Pinsir9 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `irongrip` and `guillotine` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl Pinsir9 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 328 | pub fn irongrip(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | pub fn guillotine(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scyther10` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:343:12 [INFO] [stdout] | [INFO] [stdout] 343 | pub struct Scyther10 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `swords_dance` and `slash` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:368:12 [INFO] [stdout] | [INFO] [stdout] 367 | impl Scyther10 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 368 | pub fn swords_dance(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn slash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Snorlax11` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:379:12 [INFO] [stdout] | [INFO] [stdout] 379 | pub struct Snorlax11 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `body_slam` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:403:12 [INFO] [stdout] | [INFO] [stdout] 402 | impl Snorlax11 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 403 | pub fn body_slam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vaporeon12` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | pub struct Vaporeon12 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `water_gun` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:438:12 [INFO] [stdout] | [INFO] [stdout] 437 | impl Vaporeon12 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 438 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub fn water_gun(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Venomoth13` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:453:12 [INFO] [stdout] | [INFO] [stdout] 453 | pub struct Venomoth13 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `venom_powder` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:477:12 [INFO] [stdout] | [INFO] [stdout] 476 | impl Venomoth13 { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 477 | pub fn venom_powder(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Victreebel14` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 483 | pub struct Victreebel14 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lure` and `acid` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:508:12 [INFO] [stdout] | [INFO] [stdout] 507 | impl Victreebel14 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 508 | pub fn lure(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 513 | pub fn acid(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vileplume15` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:519:12 [INFO] [stdout] | [INFO] [stdout] 519 | pub struct Vileplume15 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `petal_dance` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:543:12 [INFO] [stdout] | [INFO] [stdout] 542 | impl Vileplume15 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 543 | pub fn petal_dance(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Wigglytuff16` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:552:12 [INFO] [stdout] | [INFO] [stdout] 552 | pub struct Wigglytuff16 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lullaby` and `do_the_wave` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 576 | impl Wigglytuff16 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 577 | pub fn lullaby(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 582 | pub fn do_the_wave(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clefable17` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:588:12 [INFO] [stdout] | [INFO] [stdout] 588 | pub struct Clefable17 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `metronome` and `minimize` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:613:12 [INFO] [stdout] | [INFO] [stdout] 612 | impl Clefable17 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 613 | pub fn metronome(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 618 | pub fn minimize(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Electrode18` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:624:12 [INFO] [stdout] | [INFO] [stdout] 624 | pub struct Electrode18 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `tackle` and `chain_lightning` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:649:12 [INFO] [stdout] | [INFO] [stdout] 648 | impl Electrode18 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 649 | pub fn tackle(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 654 | pub fn chain_lightning(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Flareon19` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:660:12 [INFO] [stdout] | [INFO] [stdout] 660 | pub struct Flareon19 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `flamethrower` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:685:12 [INFO] [stdout] | [INFO] [stdout] 684 | impl Flareon19 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 685 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 692 | pub fn flamethrower(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Jolteon20` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:701:12 [INFO] [stdout] | [INFO] [stdout] 701 | pub struct Jolteon20 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `pin_missile` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:726:12 [INFO] [stdout] | [INFO] [stdout] 725 | impl Jolteon20 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 726 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 733 | pub fn pin_missile(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MrMime22` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:781:12 [INFO] [stdout] | [INFO] [stdout] 781 | pub struct MrMime22 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `meditate` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:805:12 [INFO] [stdout] | [INFO] [stdout] 804 | impl MrMime22 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 805 | pub fn meditate(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Nidoqueen23` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:813:12 [INFO] [stdout] | [INFO] [stdout] 813 | pub struct Nidoqueen23 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `boyfriends` and `mega_punch` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:838:12 [INFO] [stdout] | [INFO] [stdout] 837 | impl Nidoqueen23 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 838 | pub fn boyfriends(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 841 | pub fn mega_punch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pidgeot24` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:849:12 [INFO] [stdout] | [INFO] [stdout] 849 | pub struct Pidgeot24 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wing_attack` and `hurricane` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:874:12 [INFO] [stdout] | [INFO] [stdout] 873 | impl Pidgeot24 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 874 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 879 | pub fn hurricane(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Nidoking11` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/base/pokemon.rs:406:12 [INFO] [stdout] | [INFO] [stdout] 406 | pub struct Nidoking11 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pinsir25` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:885:12 [INFO] [stdout] | [INFO] [stdout] 885 | pub struct Pinsir25 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `irongrip` and `guillotine` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:910:12 [INFO] [stdout] | [INFO] [stdout] 909 | impl Pinsir25 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 910 | pub fn irongrip(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 917 | pub fn guillotine(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scyther26` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:925:12 [INFO] [stdout] | [INFO] [stdout] 925 | pub struct Scyther26 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `swords_dance` and `slash` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:950:12 [INFO] [stdout] | [INFO] [stdout] 949 | impl Scyther26 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 950 | pub fn swords_dance(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 953 | pub fn slash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Snorlax27` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:961:12 [INFO] [stdout] | [INFO] [stdout] 961 | pub struct Snorlax27 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `body_slam` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:985:12 [INFO] [stdout] | [INFO] [stdout] 984 | impl Snorlax27 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 985 | pub fn body_slam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vaporeon28` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:995:12 [INFO] [stdout] | [INFO] [stdout] 995 | pub struct Vaporeon28 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `water_gun` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1020:12 [INFO] [stdout] | [INFO] [stdout] 1019 | impl Vaporeon28 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1020 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1027 | pub fn water_gun(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Venomoth29` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1035:12 [INFO] [stdout] | [INFO] [stdout] 1035 | pub struct Venomoth29 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `venom_powder` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1059:12 [INFO] [stdout] | [INFO] [stdout] 1058 | impl Venomoth29 { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 1059 | pub fn venom_powder(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Victreebel30` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1065:12 [INFO] [stdout] | [INFO] [stdout] 1065 | pub struct Victreebel30 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lure` and `acid` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1090:12 [INFO] [stdout] | [INFO] [stdout] 1089 | impl Victreebel30 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1090 | pub fn lure(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1095 | pub fn acid(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vileplume31` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1101:12 [INFO] [stdout] | [INFO] [stdout] 1101 | pub struct Vileplume31 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `petal_dance` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1125:12 [INFO] [stdout] | [INFO] [stdout] 1124 | impl Vileplume31 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 1125 | pub fn petal_dance(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Wigglytuff32` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1134:12 [INFO] [stdout] | [INFO] [stdout] 1134 | pub struct Wigglytuff32 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lullaby` and `do_the_wave` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1159:12 [INFO] [stdout] | [INFO] [stdout] 1158 | impl Wigglytuff32 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1159 | pub fn lullaby(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1164 | pub fn do_the_wave(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Butterfree33` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1170:12 [INFO] [stdout] | [INFO] [stdout] 1170 | pub struct Butterfree33 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `whirlwind` and `mega_drain` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1195:12 [INFO] [stdout] | [INFO] [stdout] 1194 | impl Butterfree33 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1195 | pub fn whirlwind(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1201 | pub fn mega_drain(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dodrio34` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1207:12 [INFO] [stdout] | [INFO] [stdout] 1207 | pub struct Dodrio34 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `rage` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1231:12 [INFO] [stdout] | [INFO] [stdout] 1230 | impl Dodrio34 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 1231 | pub fn rage(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Exeggutor35` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1237:12 [INFO] [stdout] | [INFO] [stdout] 1237 | pub struct Exeggutor35 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `teleport` and `big_eggsplosion` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1262:12 [INFO] [stdout] | [INFO] [stdout] 1261 | impl Exeggutor35 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 1262 | pub fn teleport(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1265 | pub fn big_eggsplosion(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Fearow36` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1271:12 [INFO] [stdout] | [INFO] [stdout] 1271 | pub struct Fearow36 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `agility` and `drill_peck` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1296:12 [INFO] [stdout] | [INFO] [stdout] 1295 | impl Fearow36 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1296 | pub fn agility(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1302 | pub fn drill_peck(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Gloom37` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1310:12 [INFO] [stdout] | [INFO] [stdout] 1310 | pub struct Gloom37 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `poisonpowder` and `foul_odor` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1335:12 [INFO] [stdout] | [INFO] [stdout] 1334 | impl Gloom37 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1335 | pub fn poisonpowder(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1340 | pub fn foul_odor(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lickitung38` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1346:12 [INFO] [stdout] | [INFO] [stdout] 1346 | pub struct Lickitung38 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `tongue_wrap` and `supersonic` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1371:12 [INFO] [stdout] | [INFO] [stdout] 1370 | impl Lickitung38 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 1371 | pub fn tongue_wrap(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1378 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Marowak39` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1387:12 [INFO] [stdout] | [INFO] [stdout] 1387 | pub struct Marowak39 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `bonemerang` and `call_for_friend` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1412:12 [INFO] [stdout] | [INFO] [stdout] 1411 | impl Marowak39 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1412 | pub fn bonemerang(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1418 | pub fn call_for_friend(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Nidorina40` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1424:12 [INFO] [stdout] | [INFO] [stdout] 1424 | pub struct Nidorina40 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `supersonic` and `double_kick` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1449:12 [INFO] [stdout] | [INFO] [stdout] 1448 | impl Nidorina40 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1449 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1455 | pub fn double_kick(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parasect41` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1464:12 [INFO] [stdout] | [INFO] [stdout] 1464 | pub struct Parasect41 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `spore` and `slash` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1489:12 [INFO] [stdout] | [INFO] [stdout] 1488 | impl Parasect41 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1489 | pub fn spore(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1494 | pub fn slash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Persian42` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1502:12 [INFO] [stdout] | [INFO] [stdout] 1502 | pub struct Persian42 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `scratch` and `pounce` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1527:12 [INFO] [stdout] | [INFO] [stdout] 1526 | impl Persian42 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1527 | pub fn scratch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1532 | pub fn pounce(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Primeape43` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1538:12 [INFO] [stdout] | [INFO] [stdout] 1538 | pub struct Primeape43 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `fury_swipes` and `tantrum` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1563:12 [INFO] [stdout] | [INFO] [stdout] 1562 | impl Primeape43 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1563 | pub fn fury_swipes(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1569 | pub fn tantrum(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rapidash44` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1575:12 [INFO] [stdout] | [INFO] [stdout] 1575 | pub struct Rapidash44 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stomp` and `agility` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1600:12 [INFO] [stdout] | [INFO] [stdout] 1599 | impl Rapidash44 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1600 | pub fn stomp(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1607 | pub fn agility(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rhydon45` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1616:12 [INFO] [stdout] | [INFO] [stdout] 1616 | pub struct Rhydon45 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `horn_attack` and `ram` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1641:12 [INFO] [stdout] | [INFO] [stdout] 1640 | impl Rhydon45 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1641 | pub fn horn_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1646 | pub fn ram(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Seaking46` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1652:12 [INFO] [stdout] | [INFO] [stdout] 1652 | pub struct Seaking46 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `horn_attack` and `waterfall` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1677:12 [INFO] [stdout] | [INFO] [stdout] 1676 | impl Seaking46 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1677 | pub fn horn_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1682 | pub fn waterfall(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tauros47` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1690:12 [INFO] [stdout] | [INFO] [stdout] 1690 | pub struct Tauros47 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stomp` and `rampage` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1715:12 [INFO] [stdout] | [INFO] [stdout] 1714 | impl Tauros47 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1715 | pub fn stomp(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1722 | pub fn rampage(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Weepinbell48` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1728:12 [INFO] [stdout] | [INFO] [stdout] 1728 | pub struct Weepinbell48 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `poisonpowder` and `razor_leaf` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1753:12 [INFO] [stdout] | [INFO] [stdout] 1752 | impl Weepinbell48 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1753 | pub fn poisonpowder(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1760 | pub fn razor_leaf(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bellsprout49` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1768:12 [INFO] [stdout] | [INFO] [stdout] 1768 | pub struct Bellsprout49 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vine_whip` and `call_for_family` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1793:12 [INFO] [stdout] | [INFO] [stdout] 1792 | impl Bellsprout49 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1793 | pub fn vine_whip(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1798 | pub fn call_for_family(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cubone50` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1804:12 [INFO] [stdout] | [INFO] [stdout] 1804 | pub struct Cubone50 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `snivel` and `rage` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1829:12 [INFO] [stdout] | [INFO] [stdout] 1828 | impl Cubone50 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1829 | pub fn snivel(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1832 | pub fn rage(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Eevee51` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1838:12 [INFO] [stdout] | [INFO] [stdout] 1838 | pub struct Eevee51 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `tail_wag` and `quick_attack` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1863:12 [INFO] [stdout] | [INFO] [stdout] 1862 | impl Eevee51 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1863 | pub fn tail_wag(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1866 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Exeggcute52` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1876:12 [INFO] [stdout] | [INFO] [stdout] 1876 | pub struct Exeggcute52 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `hypnosis` and `leech_seed` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1901:12 [INFO] [stdout] | [INFO] [stdout] 1900 | impl Exeggcute52 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 1901 | pub fn hypnosis(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1906 | pub fn leech_seed(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Goldeen53` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1915:12 [INFO] [stdout] | [INFO] [stdout] 1915 | pub struct Goldeen53 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `horn_attack` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1939:12 [INFO] [stdout] | [INFO] [stdout] 1938 | impl Goldeen53 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 1939 | pub fn horn_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Jigglypuff54` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1947:12 [INFO] [stdout] | [INFO] [stdout] 1947 | pub struct Jigglypuff54 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lullaby` and `pound` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1972:12 [INFO] [stdout] | [INFO] [stdout] 1971 | impl Jigglypuff54 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1972 | pub fn lullaby(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1977 | pub fn pound(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mankey55` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1985:12 [INFO] [stdout] | [INFO] [stdout] 1985 | pub struct Mankey55 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `scratch` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2009:12 [INFO] [stdout] | [INFO] [stdout] 2008 | impl Mankey55 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 2009 | pub fn scratch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Meowth56` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2017:12 [INFO] [stdout] | [INFO] [stdout] 2017 | pub struct Meowth56 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `pay_day` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2041:12 [INFO] [stdout] | [INFO] [stdout] 2040 | impl Meowth56 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 2041 | pub fn pay_day(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NidoranF57` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2051:12 [INFO] [stdout] | [INFO] [stdout] 2051 | pub struct NidoranF57 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `fury_swipes` and `call_for_family` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2076:12 [INFO] [stdout] | [INFO] [stdout] 2075 | impl NidoranF57 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 2076 | pub fn fury_swipes(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2082 | pub fn call_for_family(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Oddish58` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2088:12 [INFO] [stdout] | [INFO] [stdout] 2088 | pub struct Oddish58 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stun_spore` and `sprout` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2113:12 [INFO] [stdout] | [INFO] [stdout] 2112 | impl Oddish58 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 2113 | pub fn stun_spore(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2120 | pub fn sprout(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Paras59` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2126:12 [INFO] [stdout] | [INFO] [stdout] 2126 | pub struct Paras59 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `scratch` and `spore` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2151:12 [INFO] [stdout] | [INFO] [stdout] 2150 | impl Paras59 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 2151 | pub fn scratch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2156 | pub fn spore(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pikachu60` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2164:12 [INFO] [stdout] | [INFO] [stdout] 2164 | pub struct Pikachu60 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `spark` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2188:12 [INFO] [stdout] | [INFO] [stdout] 2187 | impl Pikachu60 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 2188 | pub fn spark(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rhyhorn61` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2194:12 [INFO] [stdout] | [INFO] [stdout] 2194 | pub struct Rhyhorn61 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `thrash` and `toxic` are never used [INFO] [stdout] --> ptcg-core/src/sets/base/pokemon.rs:431:12 [INFO] [stdout] | [INFO] [stdout] 430 | impl Nidoking11 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 431 | pub fn thrash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 438 | pub fn toxic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clefable1` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Clefable1 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `metronome` and `minimize` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 30 | impl Clefable1 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 31 | pub fn metronome(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn minimize(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Electrode2` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct Electrode2 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `tackle` and `chain_lightning` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 66 | impl Electrode2 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 67 | pub fn tackle(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn chain_lightning(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Flareon3` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | pub struct Flareon3 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `flamethrower` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 102 | impl Flareon3 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 103 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn flamethrower(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Jolteon4` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:119:12 [INFO] [stdout] | [INFO] [stdout] 119 | pub struct Jolteon4 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `pin_missile` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 143 | impl Jolteon4 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 144 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn pin_missile(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MrMime6` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:199:12 [INFO] [stdout] | [INFO] [stdout] 199 | pub struct MrMime6 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `meditate` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 222 | impl MrMime6 { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 223 | pub fn meditate(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Nidoqueen7` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 231 | pub struct Nidoqueen7 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `boyfriends` and `mega_punch` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:256:12 [INFO] [stdout] | [INFO] [stdout] 255 | impl Nidoqueen7 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 256 | pub fn boyfriends(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn mega_punch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pidgeot8` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:267:12 [INFO] [stdout] | [INFO] [stdout] 267 | pub struct Pidgeot8 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wing_attack` and `hurricane` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:292:12 [INFO] [stdout] | [INFO] [stdout] 291 | impl Pidgeot8 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 292 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn hurricane(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pinsir9` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:303:12 [INFO] [stdout] | [INFO] [stdout] 303 | pub struct Pinsir9 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `irongrip` and `guillotine` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl Pinsir9 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 328 | pub fn irongrip(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | pub fn guillotine(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scyther10` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:343:12 [INFO] [stdout] | [INFO] [stdout] 343 | pub struct Scyther10 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `swords_dance` and `slash` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:368:12 [INFO] [stdout] | [INFO] [stdout] 367 | impl Scyther10 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 368 | pub fn swords_dance(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn slash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `leer` and `horn_attack` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2219:12 [INFO] [stdout] | [INFO] [stdout] 2218 | impl Rhyhorn61 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 2219 | pub fn leer(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 2222 | pub fn horn_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Spearow62` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2230:12 [INFO] [stdout] | [INFO] [stdout] 2230 | pub struct Spearow62 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `peck` and `mirror_move` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2255:12 [INFO] [stdout] | [INFO] [stdout] 2254 | impl Spearow62 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 2255 | pub fn peck(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 2260 | pub fn mirror_move(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Venonat63` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2266:12 [INFO] [stdout] | [INFO] [stdout] 2266 | pub struct Venonat63 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stun_spore` and `leech_life` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2291:12 [INFO] [stdout] | [INFO] [stdout] 2290 | impl Venonat63 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 2291 | pub fn stun_spore(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2298 | pub fn leech_life(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Aerodactyl1` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Aerodactyl1 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `wing_attack` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Aerodactyl1 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 30 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Articuno2` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Articuno2 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `freeze_dry` and `blizzard` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Articuno2 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 63 | pub fn freeze_dry(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn blizzard(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ditto3` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct Ditto3 {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dragonite4` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | pub struct Dragonite4 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `slam` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl Dragonite4 { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 126 | pub fn slam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Gengar5` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 135 | pub struct Gengar5 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `dark_mind` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 158 | impl Gengar5 { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 159 | pub fn dark_mind(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Haunter6` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct Haunter6 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `nightmare` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 188 | impl Haunter6 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 189 | pub fn nightmare(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hitmonlee7` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct Hitmonlee7 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Snorlax11` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:379:12 [INFO] [stdout] | [INFO] [stdout] 379 | pub struct Snorlax11 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `body_slam` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:403:12 [INFO] [stdout] | [INFO] [stdout] 402 | impl Snorlax11 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 403 | pub fn body_slam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vaporeon12` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | pub struct Vaporeon12 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `water_gun` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:438:12 [INFO] [stdout] | [INFO] [stdout] 437 | impl Vaporeon12 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 438 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub fn water_gun(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Venomoth13` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:453:12 [INFO] [stdout] | [INFO] [stdout] 453 | pub struct Venomoth13 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `venom_powder` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:477:12 [INFO] [stdout] | [INFO] [stdout] 476 | impl Venomoth13 { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 477 | pub fn venom_powder(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Victreebel14` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:483:12 [INFO] [stdout] | [INFO] [stdout] 483 | pub struct Victreebel14 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lure` and `acid` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:508:12 [INFO] [stdout] | [INFO] [stdout] 507 | impl Victreebel14 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 508 | pub fn lure(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 513 | pub fn acid(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vileplume15` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:519:12 [INFO] [stdout] | [INFO] [stdout] 519 | pub struct Vileplume15 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `petal_dance` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:543:12 [INFO] [stdout] | [INFO] [stdout] 542 | impl Vileplume15 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 543 | pub fn petal_dance(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Wigglytuff16` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:552:12 [INFO] [stdout] | [INFO] [stdout] 552 | pub struct Wigglytuff16 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lullaby` and `do_the_wave` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:577:12 [INFO] [stdout] | [INFO] [stdout] 576 | impl Wigglytuff16 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 577 | pub fn lullaby(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 582 | pub fn do_the_wave(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Clefable17` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:588:12 [INFO] [stdout] | [INFO] [stdout] 588 | pub struct Clefable17 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `metronome` and `minimize` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:613:12 [INFO] [stdout] | [INFO] [stdout] 612 | impl Clefable17 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 613 | pub fn metronome(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 618 | pub fn minimize(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Electrode18` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:624:12 [INFO] [stdout] | [INFO] [stdout] 624 | pub struct Electrode18 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `tackle` and `chain_lightning` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:649:12 [INFO] [stdout] | [INFO] [stdout] 648 | impl Electrode18 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 649 | pub fn tackle(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 654 | pub fn chain_lightning(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Flareon19` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:660:12 [INFO] [stdout] | [INFO] [stdout] 660 | pub struct Flareon19 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `flamethrower` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:685:12 [INFO] [stdout] | [INFO] [stdout] 684 | impl Flareon19 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 685 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 692 | pub fn flamethrower(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Jolteon20` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:701:12 [INFO] [stdout] | [INFO] [stdout] 701 | pub struct Jolteon20 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `pin_missile` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:726:12 [INFO] [stdout] | [INFO] [stdout] 725 | impl Jolteon20 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 726 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 733 | pub fn pin_missile(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MrMime22` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:781:12 [INFO] [stdout] | [INFO] [stdout] 781 | pub struct MrMime22 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `meditate` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:805:12 [INFO] [stdout] | [INFO] [stdout] 804 | impl MrMime22 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 805 | pub fn meditate(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Nidoqueen23` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:813:12 [INFO] [stdout] | [INFO] [stdout] 813 | pub struct Nidoqueen23 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `boyfriends` and `mega_punch` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:838:12 [INFO] [stdout] | [INFO] [stdout] 837 | impl Nidoqueen23 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 838 | pub fn boyfriends(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 841 | pub fn mega_punch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pidgeot24` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:849:12 [INFO] [stdout] | [INFO] [stdout] 849 | pub struct Pidgeot24 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wing_attack` and `hurricane` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:874:12 [INFO] [stdout] | [INFO] [stdout] 873 | impl Pidgeot24 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 874 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 879 | pub fn hurricane(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pinsir25` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:885:12 [INFO] [stdout] | [INFO] [stdout] 885 | pub struct Pinsir25 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `irongrip` and `guillotine` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:910:12 [INFO] [stdout] | [INFO] [stdout] 909 | impl Pinsir25 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 910 | pub fn irongrip(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 917 | pub fn guillotine(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scyther26` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:925:12 [INFO] [stdout] | [INFO] [stdout] 925 | pub struct Scyther26 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `swords_dance` and `slash` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:950:12 [INFO] [stdout] | [INFO] [stdout] 949 | impl Scyther26 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 950 | pub fn swords_dance(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 953 | pub fn slash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Snorlax27` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:961:12 [INFO] [stdout] | [INFO] [stdout] 961 | pub struct Snorlax27 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `body_slam` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:985:12 [INFO] [stdout] | [INFO] [stdout] 984 | impl Snorlax27 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 985 | pub fn body_slam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vaporeon28` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:995:12 [INFO] [stdout] | [INFO] [stdout] 995 | pub struct Vaporeon28 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `quick_attack` and `water_gun` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1020:12 [INFO] [stdout] | [INFO] [stdout] 1019 | impl Vaporeon28 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1020 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1027 | pub fn water_gun(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Venomoth29` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1035:12 [INFO] [stdout] | [INFO] [stdout] 1035 | pub struct Venomoth29 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `venom_powder` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1059:12 [INFO] [stdout] | [INFO] [stdout] 1058 | impl Venomoth29 { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 1059 | pub fn venom_powder(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Victreebel30` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1065:12 [INFO] [stdout] | [INFO] [stdout] 1065 | pub struct Victreebel30 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lure` and `acid` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1090:12 [INFO] [stdout] | [INFO] [stdout] 1089 | impl Victreebel30 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1090 | pub fn lure(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1095 | pub fn acid(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vileplume31` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1101:12 [INFO] [stdout] | [INFO] [stdout] 1101 | pub struct Vileplume31 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `petal_dance` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1125:12 [INFO] [stdout] | [INFO] [stdout] 1124 | impl Vileplume31 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 1125 | pub fn petal_dance(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Wigglytuff32` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1134:12 [INFO] [stdout] | [INFO] [stdout] 1134 | pub struct Wigglytuff32 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lullaby` and `do_the_wave` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1159:12 [INFO] [stdout] | [INFO] [stdout] 1158 | impl Wigglytuff32 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1159 | pub fn lullaby(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1164 | pub fn do_the_wave(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Butterfree33` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1170:12 [INFO] [stdout] | [INFO] [stdout] 1170 | pub struct Butterfree33 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `whirlwind` and `mega_drain` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1195:12 [INFO] [stdout] | [INFO] [stdout] 1194 | impl Butterfree33 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1195 | pub fn whirlwind(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1201 | pub fn mega_drain(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stretch_kick` and `high_jump_kick` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 222 | impl Hitmonlee7 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 223 | pub fn stretch_kick(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn high_jump_kick(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hypno8` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct Hypno8 {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `prophecy` and `dark_mind` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 258 | impl Hypno8 { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 259 | pub fn prophecy(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn dark_mind(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kabutops9` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct Kabutops9 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `sharp_sickle` and `absorb` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 292 | impl Kabutops9 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 293 | pub fn sharp_sickle(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn absorb(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lapras10` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:304:12 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Lapras10 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `water_gun` and `confuse_ray` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 328 | impl Lapras10 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 329 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | pub fn confuse_ray(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Magneton11` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 342 | pub struct Magneton11 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `sonicboom` and `selfdestruct` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:367:12 [INFO] [stdout] | [INFO] [stdout] 366 | impl Magneton11 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 367 | pub fn sonicboom(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn selfdestruct(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Moltres12` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:381:12 [INFO] [stdout] | [INFO] [stdout] 381 | pub struct Moltres12 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wildfire` and `dive_bomb` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:406:12 [INFO] [stdout] | [INFO] [stdout] 405 | impl Moltres12 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 406 | pub fn wildfire(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | pub fn dive_bomb(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Muk13` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:418:12 [INFO] [stdout] | [INFO] [stdout] 418 | pub struct Muk13 {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `sludge` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:442:12 [INFO] [stdout] | [INFO] [stdout] 441 | impl Muk13 { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 442 | pub fn sludge(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Raichu14` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:452:12 [INFO] [stdout] | [INFO] [stdout] 452 | pub struct Raichu14 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `gigashock` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:476:12 [INFO] [stdout] | [INFO] [stdout] 475 | impl Raichu14 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 476 | pub fn gigashock(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zapdos15` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:482:12 [INFO] [stdout] | [INFO] [stdout] 482 | pub struct Zapdos15 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `thunderstorm` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:506:12 [INFO] [stdout] | [INFO] [stdout] 505 | impl Zapdos15 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 506 | pub fn thunderstorm(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Aerodactyl16` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:512:12 [INFO] [stdout] | [INFO] [stdout] 512 | pub struct Aerodactyl16 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `wing_attack` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:536:12 [INFO] [stdout] | [INFO] [stdout] 535 | impl Aerodactyl16 { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 536 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ditto18` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:582:12 [INFO] [stdout] | [INFO] [stdout] 582 | pub struct Ditto18 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dragonite19` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:608:12 [INFO] [stdout] | [INFO] [stdout] 608 | pub struct Dragonite19 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `slam` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:632:12 [INFO] [stdout] | [INFO] [stdout] 631 | impl Dragonite19 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 632 | pub fn slam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Gengar20` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:641:12 [INFO] [stdout] | [INFO] [stdout] 641 | pub struct Gengar20 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `dark_mind` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:665:12 [INFO] [stdout] | [INFO] [stdout] 664 | impl Gengar20 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 665 | pub fn dark_mind(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Haunter21` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:671:12 [INFO] [stdout] | [INFO] [stdout] 671 | pub struct Haunter21 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `nightmare` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:695:12 [INFO] [stdout] | [INFO] [stdout] 694 | impl Haunter21 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 695 | pub fn nightmare(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hitmonlee22` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:704:12 [INFO] [stdout] | [INFO] [stdout] 704 | pub struct Hitmonlee22 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stretch_kick` and `high_jump_kick` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:729:12 [INFO] [stdout] | [INFO] [stdout] 728 | impl Hitmonlee22 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 729 | pub fn stretch_kick(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 732 | pub fn high_jump_kick(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hypno23` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:740:12 [INFO] [stdout] | [INFO] [stdout] 740 | pub struct Hypno23 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `prophecy` and `dark_mind` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:765:12 [INFO] [stdout] | [INFO] [stdout] 764 | impl Hypno23 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 765 | pub fn prophecy(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 768 | pub fn dark_mind(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kabutops24` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:774:12 [INFO] [stdout] | [INFO] [stdout] 774 | pub struct Kabutops24 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `sharp_sickle` and `absorb` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:799:12 [INFO] [stdout] | [INFO] [stdout] 798 | impl Kabutops24 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 799 | pub fn sharp_sickle(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 804 | pub fn absorb(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lapras25` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:810:12 [INFO] [stdout] | [INFO] [stdout] 810 | pub struct Lapras25 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `water_gun` and `confuse_ray` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:835:12 [INFO] [stdout] | [INFO] [stdout] 834 | impl Lapras25 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 835 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 838 | pub fn confuse_ray(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Magneton26` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:848:12 [INFO] [stdout] | [INFO] [stdout] 848 | pub struct Magneton26 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `sonicboom` and `selfdestruct` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:873:12 [INFO] [stdout] | [INFO] [stdout] 872 | impl Magneton26 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 873 | pub fn sonicboom(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 876 | pub fn selfdestruct(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Moltres27` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:887:12 [INFO] [stdout] | [INFO] [stdout] 887 | pub struct Moltres27 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wildfire` and `dive_bomb` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:912:12 [INFO] [stdout] | [INFO] [stdout] 911 | impl Moltres27 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 912 | pub fn wildfire(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 915 | pub fn dive_bomb(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Muk28` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:924:12 [INFO] [stdout] | [INFO] [stdout] 924 | pub struct Muk28 {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `sludge` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:948:12 [INFO] [stdout] | [INFO] [stdout] 947 | impl Muk28 { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 948 | pub fn sludge(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Raichu29` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:958:12 [INFO] [stdout] | [INFO] [stdout] 958 | pub struct Raichu29 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `gigashock` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:982:12 [INFO] [stdout] | [INFO] [stdout] 981 | impl Raichu29 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 982 | pub fn gigashock(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zapdos30` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:988:12 [INFO] [stdout] | [INFO] [stdout] 988 | pub struct Zapdos30 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `thunderstorm` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1012:12 [INFO] [stdout] | [INFO] [stdout] 1011 | impl Zapdos30 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 1012 | pub fn thunderstorm(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Arbok31` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1018:12 [INFO] [stdout] | [INFO] [stdout] 1018 | pub struct Arbok31 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `terror_strike` and `poison_fang` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1043:12 [INFO] [stdout] | [INFO] [stdout] 1042 | impl Arbok31 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1043 | pub fn terror_strike(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1046 | pub fn poison_fang(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cloyster32` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1055:12 [INFO] [stdout] | [INFO] [stdout] 1055 | pub struct Cloyster32 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `clamp` and `spike_cannon` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1080:12 [INFO] [stdout] | [INFO] [stdout] 1079 | impl Cloyster32 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1080 | pub fn clamp(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1083 | pub fn spike_cannon(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Gastly33` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1092:12 [INFO] [stdout] | [INFO] [stdout] 1092 | pub struct Gastly33 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lick` and `energy_conversion` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1117:12 [INFO] [stdout] | [INFO] [stdout] 1116 | impl Gastly33 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1117 | pub fn lick(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1124 | pub fn energy_conversion(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Golbat34` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1130:12 [INFO] [stdout] | [INFO] [stdout] 1130 | pub struct Golbat34 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wing_attack` and `leech_life` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1155:12 [INFO] [stdout] | [INFO] [stdout] 1154 | impl Golbat34 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1155 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1160 | pub fn leech_life(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Golduck35` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1166:12 [INFO] [stdout] | [INFO] [stdout] 1166 | pub struct Golduck35 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `psyshock` and `hyper_beam` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1191:12 [INFO] [stdout] | [INFO] [stdout] 1190 | impl Golduck35 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1191 | pub fn psyshock(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1198 | pub fn hyper_beam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Golem36` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1207:12 [INFO] [stdout] | [INFO] [stdout] 1207 | pub struct Golem36 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `avalanche` and `selfdestruct` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1232:12 [INFO] [stdout] | [INFO] [stdout] 1231 | impl Golem36 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1232 | pub fn avalanche(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1237 | pub fn selfdestruct(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graveler37` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1248:12 [INFO] [stdout] | [INFO] [stdout] 1248 | pub struct Graveler37 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `harden` and `rock_throw` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1273:12 [INFO] [stdout] | [INFO] [stdout] 1272 | impl Graveler37 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1273 | pub fn harden(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1278 | pub fn rock_throw(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kingler38` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1286:12 [INFO] [stdout] | [INFO] [stdout] 1286 | pub struct Kingler38 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `flail` and `crabhammer` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1311:12 [INFO] [stdout] | [INFO] [stdout] 1310 | impl Kingler38 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1311 | pub fn flail(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1316 | pub fn crabhammer(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Magmar39` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1324:12 [INFO] [stdout] | [INFO] [stdout] 1324 | pub struct Magmar39 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dodrio34` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1207:12 [INFO] [stdout] | [INFO] [stdout] 1207 | pub struct Dodrio34 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `rage` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1231:12 [INFO] [stdout] | [INFO] [stdout] 1230 | impl Dodrio34 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 1231 | pub fn rage(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Exeggutor35` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1237:12 [INFO] [stdout] | [INFO] [stdout] 1237 | pub struct Exeggutor35 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `teleport` and `big_eggsplosion` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1262:12 [INFO] [stdout] | [INFO] [stdout] 1261 | impl Exeggutor35 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 1262 | pub fn teleport(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1265 | pub fn big_eggsplosion(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Fearow36` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1271:12 [INFO] [stdout] | [INFO] [stdout] 1271 | pub struct Fearow36 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `agility` and `drill_peck` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1296:12 [INFO] [stdout] | [INFO] [stdout] 1295 | impl Fearow36 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1296 | pub fn agility(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1302 | pub fn drill_peck(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Gloom37` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1310:12 [INFO] [stdout] | [INFO] [stdout] 1310 | pub struct Gloom37 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `poisonpowder` and `foul_odor` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1335:12 [INFO] [stdout] | [INFO] [stdout] 1334 | impl Gloom37 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1335 | pub fn poisonpowder(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1340 | pub fn foul_odor(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lickitung38` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1346:12 [INFO] [stdout] | [INFO] [stdout] 1346 | pub struct Lickitung38 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `tongue_wrap` and `supersonic` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1371:12 [INFO] [stdout] | [INFO] [stdout] 1370 | impl Lickitung38 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 1371 | pub fn tongue_wrap(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1378 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Marowak39` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1387:12 [INFO] [stdout] | [INFO] [stdout] 1387 | pub struct Marowak39 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `bonemerang` and `call_for_friend` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1412:12 [INFO] [stdout] | [INFO] [stdout] 1411 | impl Marowak39 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1412 | pub fn bonemerang(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1418 | pub fn call_for_friend(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Nidorina40` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1424:12 [INFO] [stdout] | [INFO] [stdout] 1424 | pub struct Nidorina40 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `supersonic` and `double_kick` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1449:12 [INFO] [stdout] | [INFO] [stdout] 1448 | impl Nidorina40 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1449 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1455 | pub fn double_kick(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parasect41` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1464:12 [INFO] [stdout] | [INFO] [stdout] 1464 | pub struct Parasect41 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `spore` and `slash` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1489:12 [INFO] [stdout] | [INFO] [stdout] 1488 | impl Parasect41 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1489 | pub fn spore(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1494 | pub fn slash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Persian42` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1502:12 [INFO] [stdout] | [INFO] [stdout] 1502 | pub struct Persian42 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `scratch` and `pounce` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1527:12 [INFO] [stdout] | [INFO] [stdout] 1526 | impl Persian42 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1527 | pub fn scratch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1532 | pub fn pounce(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Primeape43` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1538:12 [INFO] [stdout] | [INFO] [stdout] 1538 | pub struct Primeape43 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `fury_swipes` and `tantrum` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1563:12 [INFO] [stdout] | [INFO] [stdout] 1562 | impl Primeape43 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1563 | pub fn fury_swipes(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1569 | pub fn tantrum(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rapidash44` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1575:12 [INFO] [stdout] | [INFO] [stdout] 1575 | pub struct Rapidash44 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stomp` and `agility` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1600:12 [INFO] [stdout] | [INFO] [stdout] 1599 | impl Rapidash44 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1600 | pub fn stomp(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1607 | pub fn agility(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rhydon45` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1616:12 [INFO] [stdout] | [INFO] [stdout] 1616 | pub struct Rhydon45 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `horn_attack` and `ram` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1641:12 [INFO] [stdout] | [INFO] [stdout] 1640 | impl Rhydon45 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1641 | pub fn horn_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1646 | pub fn ram(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Seaking46` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1652:12 [INFO] [stdout] | [INFO] [stdout] 1652 | pub struct Seaking46 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `horn_attack` and `waterfall` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1677:12 [INFO] [stdout] | [INFO] [stdout] 1676 | impl Seaking46 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1677 | pub fn horn_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1682 | pub fn waterfall(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tauros47` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1690:12 [INFO] [stdout] | [INFO] [stdout] 1690 | pub struct Tauros47 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stomp` and `rampage` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1715:12 [INFO] [stdout] | [INFO] [stdout] 1714 | impl Tauros47 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1715 | pub fn stomp(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1722 | pub fn rampage(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Weepinbell48` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1728:12 [INFO] [stdout] | [INFO] [stdout] 1728 | pub struct Weepinbell48 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `poisonpowder` and `razor_leaf` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1753:12 [INFO] [stdout] | [INFO] [stdout] 1752 | impl Weepinbell48 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1753 | pub fn poisonpowder(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1760 | pub fn razor_leaf(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bellsprout49` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1768:12 [INFO] [stdout] | [INFO] [stdout] 1768 | pub struct Bellsprout49 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `vine_whip` and `call_for_family` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1793:12 [INFO] [stdout] | [INFO] [stdout] 1792 | impl Bellsprout49 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1793 | pub fn vine_whip(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1798 | pub fn call_for_family(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cubone50` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1804:12 [INFO] [stdout] | [INFO] [stdout] 1804 | pub struct Cubone50 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `snivel` and `rage` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1829:12 [INFO] [stdout] | [INFO] [stdout] 1828 | impl Cubone50 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1829 | pub fn snivel(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1832 | pub fn rage(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Eevee51` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1838:12 [INFO] [stdout] | [INFO] [stdout] 1838 | pub struct Eevee51 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `tail_wag` and `quick_attack` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1863:12 [INFO] [stdout] | [INFO] [stdout] 1862 | impl Eevee51 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1863 | pub fn tail_wag(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1866 | pub fn quick_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Exeggcute52` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1876:12 [INFO] [stdout] | [INFO] [stdout] 1876 | pub struct Exeggcute52 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `hypnosis` and `leech_seed` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1901:12 [INFO] [stdout] | [INFO] [stdout] 1900 | impl Exeggcute52 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 1901 | pub fn hypnosis(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1906 | pub fn leech_seed(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Goldeen53` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1915:12 [INFO] [stdout] | [INFO] [stdout] 1915 | pub struct Goldeen53 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `horn_attack` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1939:12 [INFO] [stdout] | [INFO] [stdout] 1938 | impl Goldeen53 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 1939 | pub fn horn_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Jigglypuff54` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1947:12 [INFO] [stdout] | [INFO] [stdout] 1947 | pub struct Jigglypuff54 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lullaby` and `pound` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1972:12 [INFO] [stdout] | [INFO] [stdout] 1971 | impl Jigglypuff54 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1972 | pub fn lullaby(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1977 | pub fn pound(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mankey55` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:1985:12 [INFO] [stdout] | [INFO] [stdout] 1985 | pub struct Mankey55 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `scratch` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2009:12 [INFO] [stdout] | [INFO] [stdout] 2008 | impl Mankey55 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 2009 | pub fn scratch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Meowth56` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2017:12 [INFO] [stdout] | [INFO] [stdout] 2017 | pub struct Meowth56 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `pay_day` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2041:12 [INFO] [stdout] | [INFO] [stdout] 2040 | impl Meowth56 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 2041 | pub fn pay_day(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NidoranF57` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2051:12 [INFO] [stdout] | [INFO] [stdout] 2051 | pub struct NidoranF57 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `fury_swipes` and `call_for_family` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2076:12 [INFO] [stdout] | [INFO] [stdout] 2075 | impl NidoranF57 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 2076 | pub fn fury_swipes(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2082 | pub fn call_for_family(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Oddish58` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2088:12 [INFO] [stdout] | [INFO] [stdout] 2088 | pub struct Oddish58 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stun_spore` and `sprout` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2113:12 [INFO] [stdout] | [INFO] [stdout] 2112 | impl Oddish58 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 2113 | pub fn stun_spore(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2120 | pub fn sprout(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Paras59` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2126:12 [INFO] [stdout] | [INFO] [stdout] 2126 | pub struct Paras59 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `scratch` and `spore` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2151:12 [INFO] [stdout] | [INFO] [stdout] 2150 | impl Paras59 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 2151 | pub fn scratch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2156 | pub fn spore(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pikachu60` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2164:12 [INFO] [stdout] | [INFO] [stdout] 2164 | pub struct Pikachu60 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `spark` is never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2188:12 [INFO] [stdout] | [INFO] [stdout] 2187 | impl Pikachu60 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 2188 | pub fn spark(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rhyhorn61` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2194:12 [INFO] [stdout] | [INFO] [stdout] 2194 | pub struct Rhyhorn61 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `leer` and `horn_attack` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2219:12 [INFO] [stdout] | [INFO] [stdout] 2218 | impl Rhyhorn61 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 2219 | pub fn leer(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 2222 | pub fn horn_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Spearow62` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2230:12 [INFO] [stdout] | [INFO] [stdout] 2230 | pub struct Spearow62 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `peck` and `mirror_move` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2255:12 [INFO] [stdout] | [INFO] [stdout] 2254 | impl Spearow62 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 2255 | pub fn peck(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 2260 | pub fn mirror_move(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Venonat63` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2266:12 [INFO] [stdout] | [INFO] [stdout] 2266 | pub struct Venonat63 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stun_spore` and `leech_life` are never used [INFO] [stdout] --> ptcg-core/src/sets/jungle/pokemon.rs:2291:12 [INFO] [stdout] | [INFO] [stdout] 2290 | impl Venonat63 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 2291 | pub fn stun_spore(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2298 | pub fn leech_life(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Aerodactyl1` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Aerodactyl1 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `wing_attack` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Aerodactyl1 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 30 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `smokescreen` and `smog` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1349:12 [INFO] [stdout] | [INFO] [stdout] 1348 | impl Magmar39 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1349 | pub fn smokescreen(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1354 | pub fn smog(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Omastar40` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1364:12 [INFO] [stdout] | [INFO] [stdout] 1364 | pub struct Omastar40 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `water_gun` and `spike_cannon` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1389:12 [INFO] [stdout] | [INFO] [stdout] 1388 | impl Omastar40 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1389 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1392 | pub fn spike_cannon(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sandslash41` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1401:12 [INFO] [stdout] | [INFO] [stdout] 1401 | pub struct Sandslash41 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `slash` and `fury_swipes` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1426:12 [INFO] [stdout] | [INFO] [stdout] 1425 | impl Sandslash41 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 1426 | pub fn slash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1431 | pub fn fury_swipes(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Seadra42` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1440:12 [INFO] [stdout] | [INFO] [stdout] 1440 | pub struct Seadra42 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `water_gun` and `agility` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1465:12 [INFO] [stdout] | [INFO] [stdout] 1464 | impl Seadra42 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1465 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1468 | pub fn agility(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Slowbro43` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1477:12 [INFO] [stdout] | [INFO] [stdout] 1477 | pub struct Slowbro43 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `psyshock` and `strange_behavior` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1506:12 [INFO] [stdout] | [INFO] [stdout] 1505 | impl Slowbro43 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1506 | pub fn psyshock(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1513 | pub fn strange_behavior(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tentacruel44` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1519:12 [INFO] [stdout] | [INFO] [stdout] 1519 | pub struct Tentacruel44 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `supersonic` and `jellyfish_sting` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1544:12 [INFO] [stdout] | [INFO] [stdout] 1543 | impl Tentacruel44 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1544 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1550 | pub fn jellyfish_sting(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Weezing45` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1559:12 [INFO] [stdout] | [INFO] [stdout] 1559 | pub struct Weezing45 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `smog` and `selfdestruct` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1584:12 [INFO] [stdout] | [INFO] [stdout] 1583 | impl Weezing45 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1584 | pub fn smog(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1591 | pub fn selfdestruct(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ekans46` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1602:12 [INFO] [stdout] | [INFO] [stdout] 1602 | pub struct Ekans46 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `spit_poison` and `wrap` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1627:12 [INFO] [stdout] | [INFO] [stdout] 1626 | impl Ekans46 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1627 | pub fn spit_poison(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1633 | pub fn wrap(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Geodude47` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1643:12 [INFO] [stdout] | [INFO] [stdout] 1643 | pub struct Geodude47 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stone_barrage` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1667:12 [INFO] [stdout] | [INFO] [stdout] 1666 | impl Geodude47 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 1667 | pub fn stone_barrage(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grimer48` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1673:12 [INFO] [stdout] | [INFO] [stdout] 1673 | pub struct Grimer48 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `nasty_goo` and `minimize` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1698:12 [INFO] [stdout] | [INFO] [stdout] 1697 | impl Grimer48 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1698 | pub fn nasty_goo(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1705 | pub fn minimize(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Horsea49` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1711:12 [INFO] [stdout] | [INFO] [stdout] 1711 | pub struct Horsea49 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smokescreen` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1735:12 [INFO] [stdout] | [INFO] [stdout] 1734 | impl Horsea49 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 1735 | pub fn smokescreen(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kabuto50` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1743:12 [INFO] [stdout] | [INFO] [stdout] 1743 | pub struct Kabuto50 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `scratch` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1767:12 [INFO] [stdout] | [INFO] [stdout] 1766 | impl Kabuto50 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 1767 | pub fn scratch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Krabby51` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1775:12 [INFO] [stdout] | [INFO] [stdout] 1775 | pub struct Krabby51 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `call_for_family` and `irongrip` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1800:12 [INFO] [stdout] | [INFO] [stdout] 1799 | impl Krabby51 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1800 | pub fn call_for_family(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1803 | pub fn irongrip(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Omanyte52` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1811:12 [INFO] [stdout] | [INFO] [stdout] 1811 | pub struct Omanyte52 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `water_gun` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1835:12 [INFO] [stdout] | [INFO] [stdout] 1834 | impl Omanyte52 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 1835 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Shellder54` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1878:12 [INFO] [stdout] | [INFO] [stdout] 1878 | pub struct Shellder54 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `supersonic` and `hide_in_shell` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1903:12 [INFO] [stdout] | [INFO] [stdout] 1902 | impl Shellder54 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1903 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1909 | pub fn hide_in_shell(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Slowpoke55` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1918:12 [INFO] [stdout] | [INFO] [stdout] 1918 | pub struct Slowpoke55 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `spacing_out` and `scavenge` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1943:12 [INFO] [stdout] | [INFO] [stdout] 1942 | impl Slowpoke55 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1943 | pub fn spacing_out(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1946 | pub fn scavenge(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tentacool56` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1952:12 [INFO] [stdout] | [INFO] [stdout] 1952 | pub struct Tentacool56 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Articuno2` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct Articuno2 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `freeze_dry` and `blizzard` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl Articuno2 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 63 | pub fn freeze_dry(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn blizzard(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ditto3` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | pub struct Ditto3 {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dragonite4` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | pub struct Dragonite4 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `slam` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl Dragonite4 { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 126 | pub fn slam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Gengar5` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 135 | pub struct Gengar5 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `dark_mind` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 158 | impl Gengar5 { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 159 | pub fn dark_mind(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Haunter6` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:165:12 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct Haunter6 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `nightmare` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 188 | impl Haunter6 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 189 | pub fn nightmare(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hitmonlee7` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 198 | pub struct Hitmonlee7 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stretch_kick` and `high_jump_kick` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 222 | impl Hitmonlee7 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 223 | pub fn stretch_kick(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn high_jump_kick(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hypno8` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | pub struct Hypno8 {} [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `prophecy` and `dark_mind` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 258 | impl Hypno8 { [INFO] [stdout] | ----------- associated functions in this implementation [INFO] [stdout] 259 | pub fn prophecy(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | pub fn dark_mind(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kabutops9` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct Kabutops9 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `sharp_sickle` and `absorb` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 292 | impl Kabutops9 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 293 | pub fn sharp_sickle(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | pub fn absorb(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lapras10` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:304:12 [INFO] [stdout] | [INFO] [stdout] 304 | pub struct Lapras10 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `water_gun` and `confuse_ray` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:329:12 [INFO] [stdout] | [INFO] [stdout] 328 | impl Lapras10 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 329 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | pub fn confuse_ray(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Magneton11` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 342 | pub struct Magneton11 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `sonicboom` and `selfdestruct` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:367:12 [INFO] [stdout] | [INFO] [stdout] 366 | impl Magneton11 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 367 | pub fn sonicboom(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | pub fn selfdestruct(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Moltres12` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:381:12 [INFO] [stdout] | [INFO] [stdout] 381 | pub struct Moltres12 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wildfire` and `dive_bomb` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:406:12 [INFO] [stdout] | [INFO] [stdout] 405 | impl Moltres12 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 406 | pub fn wildfire(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | pub fn dive_bomb(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Muk13` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:418:12 [INFO] [stdout] | [INFO] [stdout] 418 | pub struct Muk13 {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `sludge` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:442:12 [INFO] [stdout] | [INFO] [stdout] 441 | impl Muk13 { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 442 | pub fn sludge(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Raichu14` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:452:12 [INFO] [stdout] | [INFO] [stdout] 452 | pub struct Raichu14 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `gigashock` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:476:12 [INFO] [stdout] | [INFO] [stdout] 475 | impl Raichu14 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 476 | pub fn gigashock(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zapdos15` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:482:12 [INFO] [stdout] | [INFO] [stdout] 482 | pub struct Zapdos15 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `thunderstorm` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:506:12 [INFO] [stdout] | [INFO] [stdout] 505 | impl Zapdos15 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 506 | pub fn thunderstorm(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Aerodactyl16` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:512:12 [INFO] [stdout] | [INFO] [stdout] 512 | pub struct Aerodactyl16 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `wing_attack` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:536:12 [INFO] [stdout] | [INFO] [stdout] 535 | impl Aerodactyl16 { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 536 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ditto18` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:582:12 [INFO] [stdout] | [INFO] [stdout] 582 | pub struct Ditto18 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dragonite19` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:608:12 [INFO] [stdout] | [INFO] [stdout] 608 | pub struct Dragonite19 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `slam` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:632:12 [INFO] [stdout] | [INFO] [stdout] 631 | impl Dragonite19 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 632 | pub fn slam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Gengar20` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:641:12 [INFO] [stdout] | [INFO] [stdout] 641 | pub struct Gengar20 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `dark_mind` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:665:12 [INFO] [stdout] | [INFO] [stdout] 664 | impl Gengar20 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 665 | pub fn dark_mind(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Haunter21` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:671:12 [INFO] [stdout] | [INFO] [stdout] 671 | pub struct Haunter21 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `nightmare` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:695:12 [INFO] [stdout] | [INFO] [stdout] 694 | impl Haunter21 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 695 | pub fn nightmare(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hitmonlee22` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:704:12 [INFO] [stdout] | [INFO] [stdout] 704 | pub struct Hitmonlee22 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `stretch_kick` and `high_jump_kick` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:729:12 [INFO] [stdout] | [INFO] [stdout] 728 | impl Hitmonlee22 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 729 | pub fn stretch_kick(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 732 | pub fn high_jump_kick(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Hypno23` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:740:12 [INFO] [stdout] | [INFO] [stdout] 740 | pub struct Hypno23 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `prophecy` and `dark_mind` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:765:12 [INFO] [stdout] | [INFO] [stdout] 764 | impl Hypno23 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 765 | pub fn prophecy(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 768 | pub fn dark_mind(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kabutops24` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:774:12 [INFO] [stdout] | [INFO] [stdout] 774 | pub struct Kabutops24 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `sharp_sickle` and `absorb` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:799:12 [INFO] [stdout] | [INFO] [stdout] 798 | impl Kabutops24 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 799 | pub fn sharp_sickle(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 804 | pub fn absorb(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lapras25` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:810:12 [INFO] [stdout] | [INFO] [stdout] 810 | pub struct Lapras25 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `water_gun` and `confuse_ray` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:835:12 [INFO] [stdout] | [INFO] [stdout] 834 | impl Lapras25 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 835 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 838 | pub fn confuse_ray(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Magneton26` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:848:12 [INFO] [stdout] | [INFO] [stdout] 848 | pub struct Magneton26 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `sonicboom` and `selfdestruct` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:873:12 [INFO] [stdout] | [INFO] [stdout] 872 | impl Magneton26 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 873 | pub fn sonicboom(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 876 | pub fn selfdestruct(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Moltres27` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:887:12 [INFO] [stdout] | [INFO] [stdout] 887 | pub struct Moltres27 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wildfire` and `dive_bomb` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:912:12 [INFO] [stdout] | [INFO] [stdout] 911 | impl Moltres27 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 912 | pub fn wildfire(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 915 | pub fn dive_bomb(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Muk28` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:924:12 [INFO] [stdout] | [INFO] [stdout] 924 | pub struct Muk28 {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `sludge` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:948:12 [INFO] [stdout] | [INFO] [stdout] 947 | impl Muk28 { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 948 | pub fn sludge(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Raichu29` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:958:12 [INFO] [stdout] | [INFO] [stdout] 958 | pub struct Raichu29 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `gigashock` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:982:12 [INFO] [stdout] | [INFO] [stdout] 981 | impl Raichu29 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 982 | pub fn gigashock(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zapdos30` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:988:12 [INFO] [stdout] | [INFO] [stdout] 988 | pub struct Zapdos30 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `thunderstorm` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1012:12 [INFO] [stdout] | [INFO] [stdout] 1011 | impl Zapdos30 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 1012 | pub fn thunderstorm(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Arbok31` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1018:12 [INFO] [stdout] | [INFO] [stdout] 1018 | pub struct Arbok31 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `terror_strike` and `poison_fang` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1043:12 [INFO] [stdout] | [INFO] [stdout] 1042 | impl Arbok31 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1043 | pub fn terror_strike(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1046 | pub fn poison_fang(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cloyster32` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1055:12 [INFO] [stdout] | [INFO] [stdout] 1055 | pub struct Cloyster32 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `clamp` and `spike_cannon` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1080:12 [INFO] [stdout] | [INFO] [stdout] 1079 | impl Cloyster32 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1080 | pub fn clamp(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1083 | pub fn spike_cannon(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Gastly33` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1092:12 [INFO] [stdout] | [INFO] [stdout] 1092 | pub struct Gastly33 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `lick` and `energy_conversion` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1117:12 [INFO] [stdout] | [INFO] [stdout] 1116 | impl Gastly33 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1117 | pub fn lick(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1124 | pub fn energy_conversion(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Golbat34` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1130:12 [INFO] [stdout] | [INFO] [stdout] 1130 | pub struct Golbat34 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `wing_attack` and `leech_life` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1155:12 [INFO] [stdout] | [INFO] [stdout] 1154 | impl Golbat34 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1155 | pub fn wing_attack(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1160 | pub fn leech_life(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Golduck35` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1166:12 [INFO] [stdout] | [INFO] [stdout] 1166 | pub struct Golduck35 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `psyshock` and `hyper_beam` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1191:12 [INFO] [stdout] | [INFO] [stdout] 1190 | impl Golduck35 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1191 | pub fn psyshock(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1198 | pub fn hyper_beam(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Golem36` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1207:12 [INFO] [stdout] | [INFO] [stdout] 1207 | pub struct Golem36 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `avalanche` and `selfdestruct` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1232:12 [INFO] [stdout] | [INFO] [stdout] 1231 | impl Golem36 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1232 | pub fn avalanche(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1237 | pub fn selfdestruct(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `acid` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1976:12 [INFO] [stdout] | [INFO] [stdout] 1975 | impl Tentacool56 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 1976 | pub fn acid(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zubat57` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1984:12 [INFO] [stdout] | [INFO] [stdout] 1984 | pub struct Zubat57 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `supersonic` and `leech_life` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:2009:12 [INFO] [stdout] | [INFO] [stdout] 2008 | impl Zubat57 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 2009 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2015 | pub fn leech_life(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Graveler37` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1248:12 [INFO] [stdout] | [INFO] [stdout] 1248 | pub struct Graveler37 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `harden` and `rock_throw` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1273:12 [INFO] [stdout] | [INFO] [stdout] 1272 | impl Graveler37 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1273 | pub fn harden(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1278 | pub fn rock_throw(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kingler38` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1286:12 [INFO] [stdout] | [INFO] [stdout] 1286 | pub struct Kingler38 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `flail` and `crabhammer` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1311:12 [INFO] [stdout] | [INFO] [stdout] 1310 | impl Kingler38 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1311 | pub fn flail(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1316 | pub fn crabhammer(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Magmar39` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1324:12 [INFO] [stdout] | [INFO] [stdout] 1324 | pub struct Magmar39 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `smokescreen` and `smog` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1349:12 [INFO] [stdout] | [INFO] [stdout] 1348 | impl Magmar39 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1349 | pub fn smokescreen(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1354 | pub fn smog(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Omastar40` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1364:12 [INFO] [stdout] | [INFO] [stdout] 1364 | pub struct Omastar40 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `water_gun` and `spike_cannon` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1389:12 [INFO] [stdout] | [INFO] [stdout] 1388 | impl Omastar40 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1389 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1392 | pub fn spike_cannon(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sandslash41` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1401:12 [INFO] [stdout] | [INFO] [stdout] 1401 | pub struct Sandslash41 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `slash` and `fury_swipes` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1426:12 [INFO] [stdout] | [INFO] [stdout] 1425 | impl Sandslash41 { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 1426 | pub fn slash(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1431 | pub fn fury_swipes(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Seadra42` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1440:12 [INFO] [stdout] | [INFO] [stdout] 1440 | pub struct Seadra42 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `water_gun` and `agility` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1465:12 [INFO] [stdout] | [INFO] [stdout] 1464 | impl Seadra42 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1465 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1468 | pub fn agility(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Slowbro43` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1477:12 [INFO] [stdout] | [INFO] [stdout] 1477 | pub struct Slowbro43 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `psyshock` and `strange_behavior` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1506:12 [INFO] [stdout] | [INFO] [stdout] 1505 | impl Slowbro43 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1506 | pub fn psyshock(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1513 | pub fn strange_behavior(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tentacruel44` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1519:12 [INFO] [stdout] | [INFO] [stdout] 1519 | pub struct Tentacruel44 {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `supersonic` and `jellyfish_sting` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1544:12 [INFO] [stdout] | [INFO] [stdout] 1543 | impl Tentacruel44 { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 1544 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1550 | pub fn jellyfish_sting(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Weezing45` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1559:12 [INFO] [stdout] | [INFO] [stdout] 1559 | pub struct Weezing45 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `smog` and `selfdestruct` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1584:12 [INFO] [stdout] | [INFO] [stdout] 1583 | impl Weezing45 { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 1584 | pub fn smog(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1591 | pub fn selfdestruct(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Ekans46` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1602:12 [INFO] [stdout] | [INFO] [stdout] 1602 | pub struct Ekans46 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `spit_poison` and `wrap` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1627:12 [INFO] [stdout] | [INFO] [stdout] 1626 | impl Ekans46 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 1627 | pub fn spit_poison(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1633 | pub fn wrap(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Geodude47` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1643:12 [INFO] [stdout] | [INFO] [stdout] 1643 | pub struct Geodude47 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `stone_barrage` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1667:12 [INFO] [stdout] | [INFO] [stdout] 1666 | impl Geodude47 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 1667 | pub fn stone_barrage(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Grimer48` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1673:12 [INFO] [stdout] | [INFO] [stdout] 1673 | pub struct Grimer48 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `nasty_goo` and `minimize` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1698:12 [INFO] [stdout] | [INFO] [stdout] 1697 | impl Grimer48 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1698 | pub fn nasty_goo(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1705 | pub fn minimize(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Horsea49` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1711:12 [INFO] [stdout] | [INFO] [stdout] 1711 | pub struct Horsea49 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `smokescreen` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1735:12 [INFO] [stdout] | [INFO] [stdout] 1734 | impl Horsea49 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 1735 | pub fn smokescreen(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Kabuto50` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1743:12 [INFO] [stdout] | [INFO] [stdout] 1743 | pub struct Kabuto50 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `scratch` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1767:12 [INFO] [stdout] | [INFO] [stdout] 1766 | impl Kabuto50 { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 1767 | pub fn scratch(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Krabby51` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1775:12 [INFO] [stdout] | [INFO] [stdout] 1775 | pub struct Krabby51 {} [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `call_for_family` and `irongrip` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1800:12 [INFO] [stdout] | [INFO] [stdout] 1799 | impl Krabby51 { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 1800 | pub fn call_for_family(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1803 | pub fn irongrip(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Omanyte52` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1811:12 [INFO] [stdout] | [INFO] [stdout] 1811 | pub struct Omanyte52 {} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `water_gun` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1835:12 [INFO] [stdout] | [INFO] [stdout] 1834 | impl Omanyte52 { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 1835 | pub fn water_gun(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Shellder54` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1878:12 [INFO] [stdout] | [INFO] [stdout] 1878 | pub struct Shellder54 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `supersonic` and `hide_in_shell` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1903:12 [INFO] [stdout] | [INFO] [stdout] 1902 | impl Shellder54 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1903 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1909 | pub fn hide_in_shell(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Slowpoke55` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1918:12 [INFO] [stdout] | [INFO] [stdout] 1918 | pub struct Slowpoke55 {} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `spacing_out` and `scavenge` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1943:12 [INFO] [stdout] | [INFO] [stdout] 1942 | impl Slowpoke55 { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 1943 | pub fn spacing_out(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1946 | pub fn scavenge(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Tentacool56` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1952:12 [INFO] [stdout] | [INFO] [stdout] 1952 | pub struct Tentacool56 {} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `acid` is never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1976:12 [INFO] [stdout] | [INFO] [stdout] 1975 | impl Tentacool56 { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 1976 | pub fn acid(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Zubat57` is never constructed [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:1984:12 [INFO] [stdout] | [INFO] [stdout] 1984 | pub struct Zubat57 {} [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `supersonic` and `leech_life` are never used [INFO] [stdout] --> ptcg-core/src/sets/fossil/pokemon.rs:2009:12 [INFO] [stdout] | [INFO] [stdout] 2008 | impl Zubat57 { [INFO] [stdout] | ------------ associated functions in this implementation [INFO] [stdout] 2009 | pub fn supersonic(builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2015 | pub fn leech_life(_builder: AttackBuilder) -> AttackBuilder { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> ptcg-core/src/state.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | LostZone(Player), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/state.rs:154:78 [INFO] [stdout] | [INFO] [stdout] 154 | ... let mut poop = vec![DeckSlice::Ordered(x[1..].iter().cloned().collect())]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] = note: `#[warn(clippy::iter_cloned_collect)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/state.rs:158:49 [INFO] [stdout] | [INFO] [stdout] 158 | ... self.slices[1..].iter().cloned().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/state.rs:175:45 [INFO] [stdout] | [INFO] [stdout] 175 | ... self.slices[1..].iter().cloned().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> ptcg-core/src/state.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | LostZone(Player), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] = note: `#[warn(clippy::enum_variant_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/state.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | / match self.rotational_status { [INFO] [stdout] 316 | | RotationalStatus::Asleep => true, [INFO] [stdout] 317 | | _ => false, [INFO] [stdout] 318 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 315 - match self.rotational_status { [INFO] [stdout] 316 - RotationalStatus::Asleep => true, [INFO] [stdout] 317 - _ => false, [INFO] [stdout] 318 - } [INFO] [stdout] 315 + matches!(self.rotational_status, RotationalStatus::Asleep) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Iterator::find` [INFO] [stdout] --> ptcg-core/src/state.rs:375:9 [INFO] [stdout] | [INFO] [stdout] 375 | / for p in self.bench.iter() { [INFO] [stdout] 376 | | if p.id == *id { [INFO] [stdout] 377 | | return Some(p); [INFO] [stdout] ... | [INFO] [stdout] 381 | | None [INFO] [stdout] | |____________^ help: replace with an iterator: `self.bench.iter().find(|&p| p.id == *id).map(|v| v as _)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_find [INFO] [stdout] = note: `#[warn(clippy::manual_find)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Iterator::find` [INFO] [stdout] --> ptcg-core/src/state.rs:391:9 [INFO] [stdout] | [INFO] [stdout] 391 | / for p in self.bench.iter_mut() { [INFO] [stdout] 392 | | if p.id == *id { [INFO] [stdout] 393 | | return Some(p); [INFO] [stdout] ... | [INFO] [stdout] 397 | | None [INFO] [stdout] | |____________^ help: replace with an iterator: `self.bench.iter_mut().find(|p| p.id == *id).map(|v| v as _)` [INFO] [stdout] | [INFO] [stdout] = note: you may need to dereference some variables [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_find [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/state.rs:154:78 [INFO] [stdout] | [INFO] [stdout] 154 | ... let mut poop = vec![DeckSlice::Ordered(x[1..].iter().cloned().collect())]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] = note: `#[warn(clippy::iter_cloned_collect)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/state.rs:158:49 [INFO] [stdout] | [INFO] [stdout] 158 | ... self.slices[1..].iter().cloned().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/state.rs:175:45 [INFO] [stdout] | [INFO] [stdout] 175 | ... self.slices[1..].iter().cloned().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/state.rs:445:55 [INFO] [stdout] | [INFO] [stdout] 445 | } else if self.stadium.as_ref() == Some(card) { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 446 | | Zone::InPlay(self.owner) [INFO] [stdout] 447 | | } else if self.supporter.as_ref() == Some(card) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/state.rs:447:57 [INFO] [stdout] | [INFO] [stdout] 447 | ... } else if self.supporter.as_ref() == Some(card) { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 448 | | ... Zone::InPlay(self.owner) [INFO] [stdout] 449 | | ... } else if self.active.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card... [INFO] [stdout] | |_______^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/state.rs:447:57 [INFO] [stdout] | [INFO] [stdout] 447 | ... } else if self.supporter.as_ref() == Some(card) { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 448 | | ... Zone::InPlay(self.owner) [INFO] [stdout] 449 | | ... } else if self.active.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card... [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/state.rs:449:135 [INFO] [stdout] | [INFO] [stdout] 449 | } else if self.active.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | _______________________________________________________________________________________________________________________________________^ [INFO] [stdout] 450 | | Zone::InPlay(self.owner) [INFO] [stdout] 451 | | } else if self.bench.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/state.rs:449:135 [INFO] [stdout] | [INFO] [stdout] 449 | } else if self.active.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | _______________________________________________________________________________________________________________________________________^ [INFO] [stdout] 450 | | Zone::InPlay(self.owner) [INFO] [stdout] 451 | | } else if self.bench.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/state.rs:451:134 [INFO] [stdout] | [INFO] [stdout] 451 | } else if self.bench.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | ______________________________________________________________________________________________________________________________________^ [INFO] [stdout] 452 | | Zone::InPlay(self.owner) [INFO] [stdout] 453 | | } else if self.working_area.contains(card) { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/state.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | / match self.rotational_status { [INFO] [stdout] 316 | | RotationalStatus::Asleep => true, [INFO] [stdout] 317 | | _ => false, [INFO] [stdout] 318 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 315 - match self.rotational_status { [INFO] [stdout] 316 - RotationalStatus::Asleep => true, [INFO] [stdout] 317 - _ => false, [INFO] [stdout] 318 - } [INFO] [stdout] 315 + matches!(self.rotational_status, RotationalStatus::Asleep) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> ptcg-core/src/state.rs:538:36 [INFO] [stdout] | [INFO] [stdout] 538 | Self::USize(v) => Some(v.clone()), [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Iterator::find` [INFO] [stdout] --> ptcg-core/src/state.rs:375:9 [INFO] [stdout] | [INFO] [stdout] 375 | / for p in self.bench.iter() { [INFO] [stdout] 376 | | if p.id == *id { [INFO] [stdout] 377 | | return Some(p); [INFO] [stdout] ... | [INFO] [stdout] 381 | | None [INFO] [stdout] | |____________^ help: replace with an iterator: `self.bench.iter().find(|&p| p.id == *id).map(|v| v as _)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_find [INFO] [stdout] = note: `#[warn(clippy::manual_find)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Iterator::find` [INFO] [stdout] --> ptcg-core/src/state.rs:391:9 [INFO] [stdout] | [INFO] [stdout] 391 | / for p in self.bench.iter_mut() { [INFO] [stdout] 392 | | if p.id == *id { [INFO] [stdout] 393 | | return Some(p); [INFO] [stdout] ... | [INFO] [stdout] 397 | | None [INFO] [stdout] | |____________^ help: replace with an iterator: `self.bench.iter_mut().find(|p| p.id == *id).map(|v| v as _)` [INFO] [stdout] | [INFO] [stdout] = note: you may need to dereference some variables [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_find [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/state.rs:445:55 [INFO] [stdout] | [INFO] [stdout] 445 | } else if self.stadium.as_ref() == Some(card) { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 446 | | Zone::InPlay(self.owner) [INFO] [stdout] 447 | | } else if self.supporter.as_ref() == Some(card) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/state.rs:447:57 [INFO] [stdout] | [INFO] [stdout] 447 | ... } else if self.supporter.as_ref() == Some(card) { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 448 | | ... Zone::InPlay(self.owner) [INFO] [stdout] 449 | | ... } else if self.active.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card... [INFO] [stdout] | |_______^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/state.rs:447:57 [INFO] [stdout] | [INFO] [stdout] 447 | ... } else if self.supporter.as_ref() == Some(card) { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 448 | | ... Zone::InPlay(self.owner) [INFO] [stdout] 449 | | ... } else if self.active.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card... [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/state.rs:449:135 [INFO] [stdout] | [INFO] [stdout] 449 | } else if self.active.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | _______________________________________________________________________________________________________________________________________^ [INFO] [stdout] 450 | | Zone::InPlay(self.owner) [INFO] [stdout] 451 | | } else if self.bench.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/state.rs:449:135 [INFO] [stdout] | [INFO] [stdout] 449 | } else if self.active.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | _______________________________________________________________________________________________________________________________________^ [INFO] [stdout] 450 | | Zone::InPlay(self.owner) [INFO] [stdout] 451 | | } else if self.bench.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/state.rs:451:134 [INFO] [stdout] | [INFO] [stdout] 451 | } else if self.bench.iter().any(|p| p.stack.iter().any(|c| c.card() == card) || p.attached.iter().any(|c| c.card() == card)) { [INFO] [stdout] | ______________________________________________________________________________________________________________________________________^ [INFO] [stdout] 452 | | Zone::InPlay(self.owner) [INFO] [stdout] 453 | | } else if self.working_area.contains(card) { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> ptcg-core/src/state.rs:538:36 [INFO] [stdout] | [INFO] [stdout] 538 | Self::USize(v) => Some(v.clone()), [INFO] [stdout] | ^^^^^^^^^ help: try dereferencing it: `*v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> ptcg-core/src/cli.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | while !(y < self.lines.len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(y >= self.lines.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> ptcg-core/src/cli.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | while !(x + text.chars().count() < self.lines[y].len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(x + text.chars().count() >= self.lines[y].len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> ptcg-core/src/cli.rs:183:24 [INFO] [stdout] | [INFO] [stdout] 183 | prize.draw(x + 0 + (i%2) * 8, y + 28 + (i/2) * 5, target); [INFO] [stdout] | ^^^^^ help: consider reducing it to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> ptcg-core/src/cli.rs:198:24 [INFO] [stdout] | [INFO] [stdout] 198 | prize.draw(x + 0 + (i%2) * 8, y + 8 + (i/2) * 5, target); [INFO] [stdout] | ^^^^^ help: consider reducing it to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> ptcg-core/src/cli.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | while !(y < self.lines.len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(y >= self.lines.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> ptcg-core/src/cli.rs:208:81 [INFO] [stdout] | [INFO] [stdout] 208 | target.draw_line(&format!("Effect on {:?}", effect.target), x + 80, 10 + i*5 + 0); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider reducing it to: `(10 + i*5)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> ptcg-core/src/cli.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | while !(x + text.chars().count() < self.lines[y].len()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(x + text.chars().count() >= self.lines[y].len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:79:36 [INFO] [stdout] | [INFO] [stdout] 79 | fn behavior_from_id(&self, id: &String) -> &dyn CardArchetype; [INFO] [stdout] | ^^^^^^^ help: change this to: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:81:26 [INFO] [stdout] | [INFO] [stdout] 81 | fn effect(&self, id: &String) -> &dyn CustomEffect; [INFO] [stdout] | ^^^^^^^ help: change this to: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:139:70 [INFO] [stdout] | [INFO] [stdout] 139 | fn confirm_setup_active_or_mulligan(&mut self, p: Player, maybe: &Vec) -> SetupActiveSelection; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `&[Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:140:56 [INFO] [stdout] | [INFO] [stdout] 140 | fn confirm_setup_active(&mut self, p: Player, yes: &Vec, maybe: &Vec) -> Card; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `&[Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:140:75 [INFO] [stdout] | [INFO] [stdout] 140 | fn confirm_setup_active(&mut self, p: Player, yes: &Vec, maybe: &Vec) -> Card; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `&[Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:142:67 [INFO] [stdout] | [INFO] [stdout] 142 | fn confirm_setup_bench_selection(&mut self, p: Player, cards: &Vec) -> Vec; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `&[Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:143:51 [INFO] [stdout] | [INFO] [stdout] 143 | fn pick_type<'a>(&mut self, p: Player, types: &'a Vec) -> &'a Type; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Type]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:144:75 [INFO] [stdout] | [INFO] [stdout] 144 | ...ies: &'a Vec<(&'a InPlayCard, &'a InPlayCard, usize)>) -> &'a (&'a InPlayCard, &'a InPlayCard, usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&'a [(&'a InPlayCard, &'a InPlayCard, usize)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:145:71 [INFO] [stdout] | [INFO] [stdout] 145 | ...r, possibilities: &'a Vec<(&'a Card, &'a InPlayCard)>) -> &'a (&'a Card, &'a InPlayCard); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&'a [(&'a Card, &'a InPlayCard)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:146:55 [INFO] [stdout] | [INFO] [stdout] 146 | fn pick_attack<'a>(&mut self, p: Player, attacks: &'a Vec) -> &'a Attack; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `&'a [Attack]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:147:55 [INFO] [stdout] | [INFO] [stdout] 147 | fn pick_action<'a>(&mut self, p: Player, actions: &'a Vec) -> &'a Action; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `&'a [Action]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:148:52 [INFO] [stdout] | [INFO] [stdout] 148 | fn pick_stage<'a>(&mut self, p: Player, items: &'a Vec) -> &'a Stage; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `&'a [Stage]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:149:87 [INFO] [stdout] | [INFO] [stdout] 149 | fn pick_from_hand<'a>(&mut self, p: Player, whose: Player, how_many: usize, hand: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:150:96 [INFO] [stdout] | [INFO] [stdout] 150 | fn pick_from_discard<'a>(&mut self, p: Player, whose: Player, how_many: usize, searchable: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:151:76 [INFO] [stdout] | [INFO] [stdout] 151 | fn pick_in_play<'a>(&mut self, p: Player, how_many: usize, searchable: &'a Vec) -> Vec<&'a InPlayCard>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&'a [InPlayCard]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:152:103 [INFO] [stdout] | [INFO] [stdout] 152 | fn pick_attached<'a>(&mut self, p: Player, how_many: std::ops::RangeInclusive, searchable: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:153:97 [INFO] [stdout] | [INFO] [stdout] 153 | ...ayer, how_many: usize, searchable: &'a Vec) -> Vec<&'a PrizeCard>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&'a [PrizeCard]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:154:84 [INFO] [stdout] | [INFO] [stdout] 154 | fn search_deck<'a>(&mut self, p: Player, whose: Player, how_many: usize, deck: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> ptcg-core/src/cli.rs:183:24 [INFO] [stdout] | [INFO] [stdout] 183 | prize.draw(x + 0 + (i%2) * 8, y + 28 + (i/2) * 5, target); [INFO] [stdout] | ^^^^^ help: consider reducing it to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] = note: `#[warn(clippy::identity_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:155:51 [INFO] [stdout] | [INFO] [stdout] 155 | fn rearrange<'a>(&mut self, p: Player, cards: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> ptcg-core/src/cli.rs:198:24 [INFO] [stdout] | [INFO] [stdout] 198 | prize.draw(x + 0 + (i%2) * 8, y + 8 + (i/2) * 5, target); [INFO] [stdout] | ^^^^^ help: consider reducing it to: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> ptcg-core/src/engine.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | Maybe, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this operation has no effect [INFO] [stdout] --> ptcg-core/src/cli.rs:208:81 [INFO] [stdout] | [INFO] [stdout] 208 | target.draw_line(&format!("Effect on {:?}", effect.target), x + 80, 10 + i*5 + 0); [INFO] [stdout] | ^^^^^^^^^^^^ help: consider reducing it to: `(10 + i*5)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/engine.rs:285:9 [INFO] [stdout] | [INFO] [stdout] 285 | / match self.state.stage { [INFO] [stdout] 286 | | GameStage::Winner(_) | GameStage::Tie => { true }, [INFO] [stdout] 287 | | _ => { false }, [INFO] [stdout] 288 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 285 - match self.state.stage { [INFO] [stdout] 286 - GameStage::Winner(_) | GameStage::Tie => { true }, [INFO] [stdout] 287 - _ => { false }, [INFO] [stdout] 288 - } [INFO] [stdout] 285 + matches!(self.state.stage, GameStage::Winner(_) | GameStage::Tie) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:314:82 [INFO] [stdout] | [INFO] [stdout] 314 | ... .then(|e| self.archetype(card).execute(player, card, &e, dm)) [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:79:36 [INFO] [stdout] | [INFO] [stdout] 79 | fn behavior_from_id(&self, id: &String) -> &dyn CardArchetype; [INFO] [stdout] | ^^^^^^^ help: change this to: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&String` instead of `&str` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:81:26 [INFO] [stdout] | [INFO] [stdout] 81 | fn effect(&self, id: &String) -> &dyn CustomEffect; [INFO] [stdout] | ^^^^^^^ help: change this to: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> ptcg-core/src/engine.rs:390:21 [INFO] [stdout] | [INFO] [stdout] 390 | / if dm.flip(1).heads() == 1 { [INFO] [stdout] 391 | | println!("{:?} woke up!", in_play); [INFO] [stdout] 392 | | engine = engine.with_state(engine.state.wake_up(in_play)); [INFO] [stdout] 393 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 389 ~ RotationalStatus::Asleep [INFO] [stdout] 390 ~ if dm.flip(1).heads() == 1 => { [INFO] [stdout] 391 | println!("{:?} woke up!", in_play); [INFO] [stdout] 392 | engine = engine.with_state(engine.state.wake_up(in_play)); [INFO] [stdout] 393 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:139:70 [INFO] [stdout] | [INFO] [stdout] 139 | fn confirm_setup_active_or_mulligan(&mut self, p: Player, maybe: &Vec) -> SetupActiveSelection; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `&[Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:140:56 [INFO] [stdout] | [INFO] [stdout] 140 | fn confirm_setup_active(&mut self, p: Player, yes: &Vec, maybe: &Vec) -> Card; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `&[Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:140:75 [INFO] [stdout] | [INFO] [stdout] 140 | fn confirm_setup_active(&mut self, p: Player, yes: &Vec, maybe: &Vec) -> Card; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `&[Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:142:67 [INFO] [stdout] | [INFO] [stdout] 142 | fn confirm_setup_bench_selection(&mut self, p: Player, cards: &Vec) -> Vec; [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `&[Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:143:51 [INFO] [stdout] | [INFO] [stdout] 143 | fn pick_type<'a>(&mut self, p: Player, types: &'a Vec) -> &'a Type; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Type]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:144:75 [INFO] [stdout] | [INFO] [stdout] 144 | ...ies: &'a Vec<(&'a InPlayCard, &'a InPlayCard, usize)>) -> &'a (&'a InPlayCard, &'a InPlayCard, usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&'a [(&'a InPlayCard, &'a InPlayCard, usize)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:145:71 [INFO] [stdout] | [INFO] [stdout] 145 | ...r, possibilities: &'a Vec<(&'a Card, &'a InPlayCard)>) -> &'a (&'a Card, &'a InPlayCard); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `&'a [(&'a Card, &'a InPlayCard)]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:146:55 [INFO] [stdout] | [INFO] [stdout] 146 | fn pick_attack<'a>(&mut self, p: Player, attacks: &'a Vec) -> &'a Attack; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `&'a [Attack]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:147:55 [INFO] [stdout] | [INFO] [stdout] 147 | fn pick_action<'a>(&mut self, p: Player, actions: &'a Vec) -> &'a Action; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: change this to: `&'a [Action]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:148:52 [INFO] [stdout] | [INFO] [stdout] 148 | fn pick_stage<'a>(&mut self, p: Player, items: &'a Vec) -> &'a Stage; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: change this to: `&'a [Stage]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:149:87 [INFO] [stdout] | [INFO] [stdout] 149 | fn pick_from_hand<'a>(&mut self, p: Player, whose: Player, how_many: usize, hand: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:150:96 [INFO] [stdout] | [INFO] [stdout] 150 | fn pick_from_discard<'a>(&mut self, p: Player, whose: Player, how_many: usize, searchable: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:151:76 [INFO] [stdout] | [INFO] [stdout] 151 | fn pick_in_play<'a>(&mut self, p: Player, how_many: usize, searchable: &'a Vec) -> Vec<&'a InPlayCard>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `&'a [InPlayCard]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> ptcg-core/src/engine.rs:455:19 [INFO] [stdout] | [INFO] [stdout] 455 | while engine.state.side(who).active.len() < 1 && !engine.state.side(who).bench.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `engine.state.side(who).active.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:152:103 [INFO] [stdout] | [INFO] [stdout] 152 | fn pick_attached<'a>(&mut self, p: Player, how_many: std::ops::RangeInclusive, searchable: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:153:97 [INFO] [stdout] | [INFO] [stdout] 153 | ...ayer, how_many: usize, searchable: &'a Vec) -> Vec<&'a PrizeCard>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `&'a [PrizeCard]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:154:84 [INFO] [stdout] | [INFO] [stdout] 154 | fn search_deck<'a>(&mut self, p: Player, whose: Player, how_many: usize, deck: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/engine.rs:155:51 [INFO] [stdout] | [INFO] [stdout] 155 | fn rearrange<'a>(&mut self, p: Player, cards: &'a Vec) -> Vec<&'a Card>; [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `&'a [Card]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> ptcg-core/src/engine.rs:489:13 [INFO] [stdout] | [INFO] [stdout] 489 | let prize = engine.prize_queue.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 488 ~ while let Some(prize) = engine.prize_queue.pop() { [INFO] [stdout] 489 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:507:75 [INFO] [stdout] | [INFO] [stdout] 507 | engine = engine.with_state(engine.state.prize_to_hand(player, &chosen)); [INFO] [stdout] | ^^^^^^^ help: change this to: `chosen` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:543:66 [INFO] [stdout] | [INFO] [stdout] 543 | .flat_map(|e| self.effect(e).on_would_be_knocked_out(&e, in_play, &self)) [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:543:79 [INFO] [stdout] | [INFO] [stdout] 543 | .flat_map(|e| self.effect(e).on_would_be_knocked_out(&e, in_play, &self)) [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> ptcg-core/src/engine.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | Maybe, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:558:57 [INFO] [stdout] | [INFO] [stdout] 558 | .flat_map(|e| self.effect(e).on_knocked_out(&e, in_play, &self)) [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:558:70 [INFO] [stdout] | [INFO] [stdout] 558 | .flat_map(|e| self.effect(e).on_knocked_out(&e, in_play, &self)) [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/engine.rs:617:9 [INFO] [stdout] | [INFO] [stdout] 617 | / match self.resolving_actions.last() { [INFO] [stdout] 618 | | Some(Action::Attack(_, _, _)) => true, [INFO] [stdout] 619 | | _ => false, [INFO] [stdout] 620 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 617 - match self.resolving_actions.last() { [INFO] [stdout] 618 - Some(Action::Attack(_, _, _)) => true, [INFO] [stdout] 619 - _ => false, [INFO] [stdout] 620 - } [INFO] [stdout] 617 + matches!(self.resolving_actions.last(), Some(Action::Attack(_, _, _))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/engine.rs:285:9 [INFO] [stdout] | [INFO] [stdout] 285 | / match self.state.stage { [INFO] [stdout] 286 | | GameStage::Winner(_) | GameStage::Tie => { true }, [INFO] [stdout] 287 | | _ => { false }, [INFO] [stdout] 288 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 285 - match self.state.stage { [INFO] [stdout] 286 - GameStage::Winner(_) | GameStage::Tie => { true }, [INFO] [stdout] 287 - _ => { false }, [INFO] [stdout] 288 - } [INFO] [stdout] 285 + matches!(self.state.stage, GameStage::Winner(_) | GameStage::Tie) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:314:82 [INFO] [stdout] | [INFO] [stdout] 314 | ... .then(|e| self.archetype(card).execute(player, card, &e, dm)) [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> ptcg-core/src/engine.rs:745:17 [INFO] [stdout] | [INFO] [stdout] 745 | damage = damage * multiplier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `damage *= multiplier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> ptcg-core/src/engine.rs:390:21 [INFO] [stdout] | [INFO] [stdout] 390 | / if dm.flip(1).heads() == 1 { [INFO] [stdout] 391 | | println!("{:?} woke up!", in_play); [INFO] [stdout] 392 | | engine = engine.with_state(engine.state.wake_up(in_play)); [INFO] [stdout] 393 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 389 ~ RotationalStatus::Asleep [INFO] [stdout] 390 ~ if dm.flip(1).heads() == 1 => { [INFO] [stdout] 391 | println!("{:?} woke up!", in_play); [INFO] [stdout] 392 | engine = engine.with_state(engine.state.wake_up(in_play)); [INFO] [stdout] 393 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to one [INFO] [stdout] --> ptcg-core/src/engine.rs:455:19 [INFO] [stdout] | [INFO] [stdout] 455 | while engine.state.side(who).active.len() < 1 && !engine.state.side(who).bench.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `engine.state.side(who).active.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to pop elements from a `Vec` in a loop [INFO] [stdout] --> ptcg-core/src/engine.rs:489:13 [INFO] [stdout] | [INFO] [stdout] 489 | let prize = engine.prize_queue.pop().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_while_let_some [INFO] [stdout] = note: `#[warn(clippy::manual_while_let_some)]` on by default [INFO] [stdout] help: consider using a `while..let` loop [INFO] [stdout] | [INFO] [stdout] 488 ~ while let Some(prize) = engine.prize_queue.pop() { [INFO] [stdout] 489 ~ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:507:75 [INFO] [stdout] | [INFO] [stdout] 507 | engine = engine.with_state(engine.state.prize_to_hand(player, &chosen)); [INFO] [stdout] | ^^^^^^^ help: change this to: `chosen` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:543:66 [INFO] [stdout] | [INFO] [stdout] 543 | .flat_map(|e| self.effect(e).on_would_be_knocked_out(&e, in_play, &self)) [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:543:79 [INFO] [stdout] | [INFO] [stdout] 543 | .flat_map(|e| self.effect(e).on_would_be_knocked_out(&e, in_play, &self)) [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:558:57 [INFO] [stdout] | [INFO] [stdout] 558 | .flat_map(|e| self.effect(e).on_knocked_out(&e, in_play, &self)) [INFO] [stdout] | ^^ help: change this to: `e` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:558:70 [INFO] [stdout] | [INFO] [stdout] 558 | .flat_map(|e| self.effect(e).on_knocked_out(&e, in_play, &self)) [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> ptcg-core/src/engine.rs:1004:21 [INFO] [stdout] | [INFO] [stdout] 1004 | / if p == player { [INFO] [stdout] 1005 | | effect.expires = EffectExpiration::EndOfTurn(p, t - 1) [INFO] [stdout] 1006 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1003 ~ EffectExpiration::EndOfTurn(p, t) [INFO] [stdout] 1004 ~ if p == player => { [INFO] [stdout] 1005 | effect.expires = EffectExpiration::EndOfTurn(p, t - 1) [INFO] [stdout] 1006 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> ptcg-core/src/engine.rs:1002:13 [INFO] [stdout] | [INFO] [stdout] 1002 | / match effect.expires { [INFO] [stdout] 1003 | | EffectExpiration::EndOfTurn(p, t) => { [INFO] [stdout] 1004 | | if p == player { [INFO] [stdout] 1005 | | effect.expires = EffectExpiration::EndOfTurn(p, t - 1) [INFO] [stdout] ... | [INFO] [stdout] 1008 | | _ => {}, [INFO] [stdout] 1009 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1002 ~ if let EffectExpiration::EndOfTurn(p, t) = effect.expires { [INFO] [stdout] 1003 + if p == player { [INFO] [stdout] 1004 + effect.expires = EffectExpiration::EndOfTurn(p, t - 1) [INFO] [stdout] 1005 + } [INFO] [stdout] 1006 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/engine.rs:617:9 [INFO] [stdout] | [INFO] [stdout] 617 | / match self.resolving_actions.last() { [INFO] [stdout] 618 | | Some(Action::Attack(_, _, _)) => true, [INFO] [stdout] 619 | | _ => false, [INFO] [stdout] 620 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 617 - match self.resolving_actions.last() { [INFO] [stdout] 618 - Some(Action::Attack(_, _, _)) => true, [INFO] [stdout] 619 - _ => false, [INFO] [stdout] 620 - } [INFO] [stdout] 617 + matches!(self.resolving_actions.last(), Some(Action::Attack(_, _, _))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> ptcg-core/src/engine.rs:1067:13 [INFO] [stdout] | [INFO] [stdout] 1067 | / if self.archetype(card).attachable_as_energy_for_turn(card, &self) { [INFO] [stdout] 1068 | | if self.state.side(player).manual_attachments_this_turn == 0 { [INFO] [stdout] 1069 | | actions.push(Action::AttachFromHand(player, card.clone())); [INFO] [stdout] 1070 | | } [INFO] [stdout] 1071 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1067 ~ if self.archetype(card).attachable_as_energy_for_turn(card, &self) [INFO] [stdout] 1068 ~ && self.state.side(player).manual_attachments_this_turn == 0 { [INFO] [stdout] 1069 | actions.push(Action::AttachFromHand(player, card.clone())); [INFO] [stdout] 1070 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1067:73 [INFO] [stdout] | [INFO] [stdout] 1067 | if self.archetype(card).attachable_as_energy_for_turn(card, &self) { [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> ptcg-core/src/engine.rs:745:17 [INFO] [stdout] | [INFO] [stdout] 745 | damage = damage * multiplier; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `damage *= multiplier` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1189:43 [INFO] [stdout] | [INFO] [stdout] 1189 | .just_switch(player, in_play, &chosen[0]) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1203:34 [INFO] [stdout] | [INFO] [stdout] 1203 | .push_target(&attacking, &self.state.side(player.opponent()).active[0]); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `attacking` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1211:34 [INFO] [stdout] | [INFO] [stdout] 1211 | .push_target(&attacking, &self.state.side(player.opponent()).active[0]); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `attacking` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/engine.rs:1275:34 [INFO] [stdout] | [INFO] [stdout] 1275 | if self.is_trainer(card) { [INFO] [stdout] | __________________________________^ [INFO] [stdout] 1276 | | return self.archetype(card).card_actions(player, card, self); [INFO] [stdout] 1277 | | } else if self.is_energy(card) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/engine.rs:1277:40 [INFO] [stdout] | [INFO] [stdout] 1277 | } else if self.is_energy(card) { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 1278 | | return self.archetype(card).card_actions(player, card, self); [INFO] [stdout] 1279 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> ptcg-core/src/engine.rs:1342:13 [INFO] [stdout] | [INFO] [stdout] 1342 | / if self.archetype(in_play.stack[0].card()).name() == name_to_find { [INFO] [stdout] 1343 | | if self.ready_to_evolve(in_play) { [INFO] [stdout] 1344 | | targets.push(in_play.clone()); [INFO] [stdout] 1345 | | } [INFO] [stdout] 1346 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1342 ~ if self.archetype(in_play.stack[0].card()).name() == name_to_find [INFO] [stdout] 1343 ~ && self.ready_to_evolve(in_play) { [INFO] [stdout] 1344 | targets.push(in_play.clone()); [INFO] [stdout] 1345 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> ptcg-core/src/engine.rs:1004:21 [INFO] [stdout] | [INFO] [stdout] 1004 | / if p == player { [INFO] [stdout] 1005 | | effect.expires = EffectExpiration::EndOfTurn(p, t - 1) [INFO] [stdout] 1006 | | } [INFO] [stdout] | |_____________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1003 ~ EffectExpiration::EndOfTurn(p, t) [INFO] [stdout] 1004 ~ if p == player => { [INFO] [stdout] 1005 | effect.expires = EffectExpiration::EndOfTurn(p, t - 1) [INFO] [stdout] 1006 ~ }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> ptcg-core/src/engine.rs:1002:13 [INFO] [stdout] | [INFO] [stdout] 1002 | / match effect.expires { [INFO] [stdout] 1003 | | EffectExpiration::EndOfTurn(p, t) => { [INFO] [stdout] 1004 | | if p == player { [INFO] [stdout] 1005 | | effect.expires = EffectExpiration::EndOfTurn(p, t - 1) [INFO] [stdout] ... | [INFO] [stdout] 1008 | | _ => {}, [INFO] [stdout] 1009 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 1002 ~ if let EffectExpiration::EndOfTurn(p, t) = effect.expires { [INFO] [stdout] 1003 + if p == player { [INFO] [stdout] 1004 + effect.expires = EffectExpiration::EndOfTurn(p, t - 1) [INFO] [stdout] 1005 + } [INFO] [stdout] 1006 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Some` followed by `unwrap` [INFO] [stdout] --> ptcg-core/src/engine.rs:1385:14 [INFO] [stdout] | [INFO] [stdout] 1385 | .filter(|e| e.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 1386 | | .map(|e| e.unwrap()) [INFO] [stdout] | |________________________________^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_filter_map [INFO] [stdout] = note: `#[warn(clippy::option_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> ptcg-core/src/engine.rs:1067:13 [INFO] [stdout] | [INFO] [stdout] 1067 | / if self.archetype(card).attachable_as_energy_for_turn(card, &self) { [INFO] [stdout] 1068 | | if self.state.side(player).manual_attachments_this_turn == 0 { [INFO] [stdout] 1069 | | actions.push(Action::AttachFromHand(player, card.clone())); [INFO] [stdout] 1070 | | } [INFO] [stdout] 1071 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1067 ~ if self.archetype(card).attachable_as_energy_for_turn(card, &self) [INFO] [stdout] 1068 ~ && self.state.side(player).manual_attachments_this_turn == 0 { [INFO] [stdout] 1069 | actions.push(Action::AttachFromHand(player, card.clone())); [INFO] [stdout] 1070 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1067:73 [INFO] [stdout] | [INFO] [stdout] 1067 | if self.archetype(card).attachable_as_energy_for_turn(card, &self) { [INFO] [stdout] | ^^^^^ help: change this to: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1427:74 [INFO] [stdout] | [INFO] [stdout] 1427 | self.with_state(self.state.manual_attach_from_hand(player, card, &target)) [INFO] [stdout] | ^^^^^^^ help: change this to: `target` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Some` followed by `unwrap` [INFO] [stdout] --> ptcg-core/src/engine.rs:1433:14 [INFO] [stdout] | [INFO] [stdout] 1433 | .filter(|e| e.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 1434 | | .map(|e| e.unwrap()) [INFO] [stdout] | |________________________________^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_filter_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1473:70 [INFO] [stdout] | [INFO] [stdout] 1473 | self.just_switch(target, &self.state.side(target).active[0], &chosen[0]) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1479:70 [INFO] [stdout] | [INFO] [stdout] 1479 | self.just_switch(player, &self.state.side(player).active[0], &chosen[0]) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1189:43 [INFO] [stdout] | [INFO] [stdout] 1189 | .just_switch(player, in_play, &chosen[0]) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1203:34 [INFO] [stdout] | [INFO] [stdout] 1203 | .push_target(&attacking, &self.state.side(player.opponent()).active[0]); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `attacking` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> ptcg-core/src/engine.rs:1562:9 [INFO] [stdout] | [INFO] [stdout] 1562 | self.state.side(player).discard.iter().find(|c| self.is_trainer(c)) != None [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `self.state.side(player).discard.iter().find(|c| self.is_trainer(c)).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1211:34 [INFO] [stdout] | [INFO] [stdout] 1211 | .push_target(&attacking, &self.state.side(player.opponent()).active[0]); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `attacking` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> ptcg-core/src/engine.rs:1566:9 [INFO] [stdout] | [INFO] [stdout] 1566 | self.state.side(player).discard.iter().find(|c| self.is_basic_energy(c)) != None [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `self.state.side(player).discard.iter().find(|c| self.is_basic_energy(c)).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/engine.rs:1275:34 [INFO] [stdout] | [INFO] [stdout] 1275 | if self.is_trainer(card) { [INFO] [stdout] | __________________________________^ [INFO] [stdout] 1276 | | return self.archetype(card).card_actions(player, card, self); [INFO] [stdout] 1277 | | } else if self.is_energy(card) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/engine.rs:1277:40 [INFO] [stdout] | [INFO] [stdout] 1277 | } else if self.is_energy(card) { [INFO] [stdout] | ________________________________________^ [INFO] [stdout] 1278 | | return self.archetype(card).card_actions(player, card, self); [INFO] [stdout] 1279 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> ptcg-core/src/engine.rs:1342:13 [INFO] [stdout] | [INFO] [stdout] 1342 | / if self.archetype(in_play.stack[0].card()).name() == name_to_find { [INFO] [stdout] 1343 | | if self.ready_to_evolve(in_play) { [INFO] [stdout] 1344 | | targets.push(in_play.clone()); [INFO] [stdout] 1345 | | } [INFO] [stdout] 1346 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 1342 ~ if self.archetype(in_play.stack[0].card()).name() == name_to_find [INFO] [stdout] 1343 ~ && self.ready_to_evolve(in_play) { [INFO] [stdout] 1344 | targets.push(in_play.clone()); [INFO] [stdout] 1345 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Some` followed by `unwrap` [INFO] [stdout] --> ptcg-core/src/engine.rs:1385:14 [INFO] [stdout] | [INFO] [stdout] 1385 | .filter(|e| e.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 1386 | | .map(|e| e.unwrap()) [INFO] [stdout] | |________________________________^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_filter_map [INFO] [stdout] = note: `#[warn(clippy::option_filter_map)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/engine.rs:1721:58 [INFO] [stdout] | [INFO] [stdout] 1721 | if card.archetype == "Mysterious Fossil (FO 62)" { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1722 | | true [INFO] [stdout] 1723 | | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/engine.rs:1723:58 [INFO] [stdout] | [INFO] [stdout] 1723 | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1724 | | true [INFO] [stdout] 1725 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> ptcg-core/src/engine.rs:1723:16 [INFO] [stdout] | [INFO] [stdout] 1723 | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | ________________^ [INFO] [stdout] 1724 | | true [INFO] [stdout] 1725 | | } else { [INFO] [stdout] 1726 | | false [INFO] [stdout] 1727 | | } [INFO] [stdout] | |_________^ help: you can reduce it to: `{ self.stage(card) == Some(Stage::Basic) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/engine.rs:1731:58 [INFO] [stdout] | [INFO] [stdout] 1731 | if card.archetype == "Mysterious Fossil (FO 62)" { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1732 | | true [INFO] [stdout] 1733 | | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/engine.rs:1733:58 [INFO] [stdout] | [INFO] [stdout] 1733 | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1734 | | true [INFO] [stdout] 1735 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> ptcg-core/src/engine.rs:1733:16 [INFO] [stdout] | [INFO] [stdout] 1733 | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | ________________^ [INFO] [stdout] 1734 | | true [INFO] [stdout] 1735 | | } else { [INFO] [stdout] 1736 | | false [INFO] [stdout] 1737 | | } [INFO] [stdout] | |_________^ help: you can reduce it to: `{ self.stage(card) == Some(Stage::Basic) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1427:74 [INFO] [stdout] | [INFO] [stdout] 1427 | self.with_state(self.state.manual_attach_from_hand(player, card, &target)) [INFO] [stdout] | ^^^^^^^ help: change this to: `target` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Some` followed by `unwrap` [INFO] [stdout] --> ptcg-core/src/engine.rs:1433:14 [INFO] [stdout] | [INFO] [stdout] 1433 | .filter(|e| e.is_some()) [INFO] [stdout] | ______________^ [INFO] [stdout] 1434 | | .map(|e| e.unwrap()) [INFO] [stdout] | |________________________________^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_filter_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/engine.rs:1778:9 [INFO] [stdout] | [INFO] [stdout] 1778 | / match card.archetype.as_str() { [INFO] [stdout] 1779 | | "Fighting Energy (BS 97)" => true, [INFO] [stdout] 1780 | | "Fire Energy (BS 98)" => true, [INFO] [stdout] 1781 | | "Grass Energy (BS 99)" => true, [INFO] [stdout] ... | [INFO] [stdout] 1785 | | _ => false, [INFO] [stdout] 1786 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 1778 - match card.archetype.as_str() { [INFO] [stdout] 1779 - "Fighting Energy (BS 97)" => true, [INFO] [stdout] 1780 - "Fire Energy (BS 98)" => true, [INFO] [stdout] 1781 - "Grass Energy (BS 99)" => true, [INFO] [stdout] 1782 - "Lightning Energy (BS 100)" => true, [INFO] [stdout] 1783 - "Psychic Energy (BS 101)" => true, [INFO] [stdout] 1784 - "Water Energy (BS 102)" => true, [INFO] [stdout] 1785 - _ => false, [INFO] [stdout] 1786 - } [INFO] [stdout] 1778 + matches!(card.archetype.as_str(), "Fighting Energy (BS 97)" | "Fire Energy (BS 98)" | "Grass Energy (BS 99)" | "Lightning Energy (BS 100)" | "Psychic Energy (BS 101)" | "Water Energy (BS 102)") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1473:70 [INFO] [stdout] | [INFO] [stdout] 1473 | self.just_switch(target, &self.state.side(target).active[0], &chosen[0]) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/engine.rs:1479:70 [INFO] [stdout] | [INFO] [stdout] 1479 | self.just_switch(player, &self.state.side(player).active[0], &chosen[0]) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> ptcg-core/src/engine.rs:1562:9 [INFO] [stdout] | [INFO] [stdout] 1562 | self.state.side(player).discard.iter().find(|c| self.is_trainer(c)) != None [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `self.state.side(player).discard.iter().find(|c| self.is_trainer(c)).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: binary comparison to literal `Option::None` [INFO] [stdout] --> ptcg-core/src/engine.rs:1566:9 [INFO] [stdout] | [INFO] [stdout] 1566 | self.state.side(player).discard.iter().find(|c| self.is_basic_energy(c)) != None [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `self.state.side(player).discard.iter().find(|c| self.is_basic_energy(c)).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | IgnoreAllCosts, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:182:39 [INFO] [stdout] | [INFO] [stdout] 182 | let cost = energy_requirements.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/engine.rs:1721:58 [INFO] [stdout] | [INFO] [stdout] 1721 | if card.archetype == "Mysterious Fossil (FO 62)" { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1722 | | true [INFO] [stdout] 1723 | | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/engine.rs:1723:58 [INFO] [stdout] | [INFO] [stdout] 1723 | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1724 | | true [INFO] [stdout] 1725 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> ptcg-core/src/engine.rs:1723:16 [INFO] [stdout] | [INFO] [stdout] 1723 | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | ________________^ [INFO] [stdout] 1724 | | true [INFO] [stdout] 1725 | | } else { [INFO] [stdout] 1726 | | false [INFO] [stdout] 1727 | | } [INFO] [stdout] | |_________^ help: you can reduce it to: `{ self.stage(card) == Some(Stage::Basic) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> ptcg-core/src/engine.rs:1731:58 [INFO] [stdout] | [INFO] [stdout] 1731 | if card.archetype == "Mysterious Fossil (FO 62)" { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1732 | | true [INFO] [stdout] 1733 | | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> ptcg-core/src/engine.rs:1733:58 [INFO] [stdout] | [INFO] [stdout] 1733 | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1734 | | true [INFO] [stdout] 1735 | | } else { [INFO] [stdout] | |_________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> ptcg-core/src/engine.rs:1733:16 [INFO] [stdout] | [INFO] [stdout] 1733 | } else if self.stage(card) == Some(Stage::Basic) { [INFO] [stdout] | ________________^ [INFO] [stdout] 1734 | | true [INFO] [stdout] 1735 | | } else { [INFO] [stdout] 1736 | | false [INFO] [stdout] 1737 | | } [INFO] [stdout] | |_________^ help: you can reduce it to: `{ self.stage(card) == Some(Stage::Basic) }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:266:55 [INFO] [stdout] | [INFO] [stdout] 266 | if !builder.results[idx..].iter().all(|x| match x { ActionResult::Full => true, _ => false }) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 266 - if !builder.results[idx..].iter().all(|x| match x { ActionResult::Full => true, _ => false }) { [INFO] [stdout] 266 + if !builder.results[idx..].iter().all(|x| matches!(x, ActionResult::Full)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/engine.rs:1778:9 [INFO] [stdout] | [INFO] [stdout] 1778 | / match card.archetype.as_str() { [INFO] [stdout] 1779 | | "Fighting Energy (BS 97)" => true, [INFO] [stdout] 1780 | | "Fire Energy (BS 98)" => true, [INFO] [stdout] 1781 | | "Grass Energy (BS 99)" => true, [INFO] [stdout] ... | [INFO] [stdout] 1785 | | _ => false, [INFO] [stdout] 1786 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 1778 - match card.archetype.as_str() { [INFO] [stdout] 1779 - "Fighting Energy (BS 97)" => true, [INFO] [stdout] 1780 - "Fire Energy (BS 98)" => true, [INFO] [stdout] 1781 - "Grass Energy (BS 99)" => true, [INFO] [stdout] 1782 - "Lightning Energy (BS 100)" => true, [INFO] [stdout] 1783 - "Psychic Energy (BS 101)" => true, [INFO] [stdout] 1784 - "Water Energy (BS 102)" => true, [INFO] [stdout] 1785 - _ => false, [INFO] [stdout] 1786 - } [INFO] [stdout] 1778 + matches!(card.archetype.as_str(), "Fighting Energy (BS 97)" | "Fire Energy (BS 98)" | "Grass Energy (BS 99)" | "Lightning Energy (BS 100)" | "Psychic Energy (BS 101)" | "Water Energy (BS 102)") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:277:55 [INFO] [stdout] | [INFO] [stdout] 277 | if !builder.results[idx..].iter().all(|x| match x { ActionResult::Full => true, _ => false }) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 277 - if !builder.results[idx..].iter().all(|x| match x { ActionResult::Full => true, _ => false }) { [INFO] [stdout] 277 + if !builder.results[idx..].iter().all(|x| matches!(x, ActionResult::Full)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:358:54 [INFO] [stdout] | [INFO] [stdout] 358 | let energy_requirements = energy_requirements.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:361:99 [INFO] [stdout] | [INFO] [stdout] 361 | ..._cards(builder.player(), &builder.engine.defending(), &energy_requirements, builder.dm); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `builder.engine.defending()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:371:97 [INFO] [stdout] | [INFO] [stdout] 371 | ..._cards(builder.player(), &builder.engine.attacking(), builder.dm); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `builder.engine.attacking()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:377:54 [INFO] [stdout] | [INFO] [stdout] 377 | let energy_requirements = energy_requirements.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:380:99 [INFO] [stdout] | [INFO] [stdout] 380 | ..._cards(builder.player(), &builder.engine.attacking(), &energy_requirements, builder.dm); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `builder.engine.attacking()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant name ends with the enum's name [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | IgnoreAllCosts, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#enum_variant_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:502:38 [INFO] [stdout] | [INFO] [stdout] 502 | let except_types = exceptions.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:520:38 [INFO] [stdout] | [INFO] [stdout] 520 | let except_types = exceptions.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:182:39 [INFO] [stdout] | [INFO] [stdout] 182 | let cost = energy_requirements.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:266:55 [INFO] [stdout] | [INFO] [stdout] 266 | if !builder.results[idx..].iter().all(|x| match x { ActionResult::Full => true, _ => false }) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 266 - if !builder.results[idx..].iter().all(|x| match x { ActionResult::Full => true, _ => false }) { [INFO] [stdout] 266 + if !builder.results[idx..].iter().all(|x| matches!(x, ActionResult::Full)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:277:55 [INFO] [stdout] | [INFO] [stdout] 277 | if !builder.results[idx..].iter().all(|x| match x { ActionResult::Full => true, _ => false }) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 277 - if !builder.results[idx..].iter().all(|x| match x { ActionResult::Full => true, _ => false }) { [INFO] [stdout] 277 + if !builder.results[idx..].iter().all(|x| matches!(x, ActionResult::Full)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | effect: Option EffectConsequence>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | source: Option EffectSource>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | target: Option EffectTarget>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | expires: Option EffectExpiration>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | parameters: Vec EffectParameter>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> ptcg-core/src/effect.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | / builder.source = Some(Box::new(|ab: &AttackBuilderContext| { [INFO] [stdout] 19 | | EffectSource::Attack(ab.player(), ab.attacking().id) [INFO] [stdout] 20 | | })); [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `effect::AttackEffectBuilder { source: Some(Box::new(|ab: &AttackBuilderContext| { [INFO] [stdout] EffectSource::Attack(ab.player(), ab.attacking().id) [INFO] [stdout] })), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> ptcg-core/src/effect.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | let mut builder = AttackEffectBuilder::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> ptcg-core/src/effect.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / builder.source = Some(Box::new(|ab: &AttackBuilderContext| { [INFO] [stdout] 29 | | EffectSource::Attack(ab.player(), ab.this_pokemon().id) [INFO] [stdout] 30 | | })); [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `effect::AttackEffectBuilder { source: Some(Box::new(|ab: &AttackBuilderContext| { [INFO] [stdout] EffectSource::Attack(ab.player(), ab.this_pokemon().id) [INFO] [stdout] })), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> ptcg-core/src/effect.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | let mut builder = AttackEffectBuilder::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:358:54 [INFO] [stdout] | [INFO] [stdout] 358 | let energy_requirements = energy_requirements.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:361:99 [INFO] [stdout] | [INFO] [stdout] 361 | ..._cards(builder.player(), &builder.engine.defending(), &energy_requirements, builder.dm); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `builder.engine.defending()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:371:97 [INFO] [stdout] | [INFO] [stdout] 371 | ..._cards(builder.player(), &builder.engine.attacking(), builder.dm); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `builder.engine.attacking()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:377:54 [INFO] [stdout] | [INFO] [stdout] 377 | let energy_requirements = energy_requirements.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> ptcg-core/src/effect.rs:109:36 [INFO] [stdout] | [INFO] [stdout] 109 | EffectParameter::USize(p.clone()) [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:380:99 [INFO] [stdout] | [INFO] [stdout] 380 | ..._cards(builder.player(), &builder.engine.attacking(), &energy_requirements, builder.dm); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `builder.engine.attacking()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:502:38 [INFO] [stdout] | [INFO] [stdout] 502 | let except_types = exceptions.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/attack_builder.rs:520:38 [INFO] [stdout] | [INFO] [stdout] 520 | let except_types = exceptions.iter().cloned().collect::>(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | effect: Option EffectConsequence>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | source: Option EffectSource>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:10:13 [INFO] [stdout] | [INFO] [stdout] 10 | target: Option EffectTarget>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | expires: Option EffectExpiration>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> ptcg-core/src/effect.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | parameters: Vec EffectParameter>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> ptcg-core/src/effect.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | / builder.source = Some(Box::new(|ab: &AttackBuilderContext| { [INFO] [stdout] 19 | | EffectSource::Attack(ab.player(), ab.attacking().id) [INFO] [stdout] 20 | | })); [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `effect::AttackEffectBuilder { source: Some(Box::new(|ab: &AttackBuilderContext| { [INFO] [stdout] EffectSource::Attack(ab.player(), ab.attacking().id) [INFO] [stdout] })), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> ptcg-core/src/effect.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | let mut builder = AttackEffectBuilder::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] = note: `#[warn(clippy::field_reassign_with_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field assignment outside of initializer for an instance created with Default::default() [INFO] [stdout] --> ptcg-core/src/effect.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / builder.source = Some(Box::new(|ab: &AttackBuilderContext| { [INFO] [stdout] 29 | | EffectSource::Attack(ab.player(), ab.this_pokemon().id) [INFO] [stdout] 30 | | })); [INFO] [stdout] | |________^ [INFO] [stdout] | [INFO] [stdout] note: consider initializing the variable with `effect::AttackEffectBuilder { source: Some(Box::new(|ab: &AttackBuilderContext| { [INFO] [stdout] EffectSource::Attack(ab.player(), ab.this_pokemon().id) [INFO] [stdout] })), ..Default::default() }` and removing relevant reassignments [INFO] [stdout] --> ptcg-core/src/effect.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | let mut builder = AttackEffectBuilder::default(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#field_reassign_with_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `usize` which implements the `Copy` trait [INFO] [stdout] --> ptcg-core/src/effect.rs:109:36 [INFO] [stdout] | [INFO] [stdout] 109 | EffectParameter::USize(p.clone()) [INFO] [stdout] | ^^^^^^^^^ help: try removing the `clone` call: `p` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:60:38 [INFO] [stdout] | [INFO] [stdout] 60 | let mut stages = self.stages(&chosen[0], engine); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:67:22 [INFO] [stdout] | [INFO] [stdout] 67 | .devolve(&chosen[0], stage, &Zone::Discard(player)) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 75 | .filter(|in_play| match engine.stage(in_play.stack[0].card()) { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 76 | | Some(Stage::Stage1 | Stage::Stage2) => true, [INFO] [stdout] 77 | | _ => false, [INFO] [stdout] 78 | | }) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 75 - .filter(|in_play| match engine.stage(in_play.stack[0].card()) { [INFO] [stdout] 76 - Some(Stage::Stage1 | Stage::Stage2) => true, [INFO] [stdout] 77 - _ => false, [INFO] [stdout] 78 - }) [INFO] [stdout] 75 + .filter(|in_play| matches!(engine.stage(in_play.stack[0].card()), Some(Stage::Stage1 | Stage::Stage2))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Some` followed by `unwrap` [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | .filter(Option::is_some).map(|x| x.unwrap()).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_filter_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:60:38 [INFO] [stdout] | [INFO] [stdout] 60 | let mut stages = self.stages(&chosen[0], engine); [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:67:22 [INFO] [stdout] | [INFO] [stdout] 67 | .devolve(&chosen[0], stage, &Zone::Discard(player)) [INFO] [stdout] | ^^^^^^^^^^ help: change this to: `chosen[0]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 75 | .filter(|in_play| match engine.stage(in_play.stack[0].card()) { [INFO] [stdout] | _______________________________^ [INFO] [stdout] 76 | | Some(Stage::Stage1 | Stage::Stage2) => true, [INFO] [stdout] 77 | | _ => false, [INFO] [stdout] 78 | | }) [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 75 - .filter(|in_play| match engine.stage(in_play.stack[0].card()) { [INFO] [stdout] 76 - Some(Stage::Stage1 | Stage::Stage2) => true, [INFO] [stdout] 77 - _ => false, [INFO] [stdout] 78 - }) [INFO] [stdout] 75 + .filter(|in_play| matches!(engine.stage(in_play.stack[0].card()), Some(Stage::Stage1 | Stage::Stage2))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `filter` for `Some` followed by `unwrap` [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | .filter(Option::is_some).map(|x| x.unwrap()).collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `flatten` instead: `flatten()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_filter_map [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:332:42 [INFO] [stdout] | [INFO] [stdout] 332 | engine.remove_special_conditions(&target) [INFO] [stdout] | ^^^^^^^ help: change this to: `target` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:369:55 [INFO] [stdout] | [INFO] [stdout] 369 | let targets = engine.state.side(player).active.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 377 | / if engine.attacking().attached.iter().any(|c| c.card() == card) { [INFO] [stdout] 378 | | if engine.opponents_active_pokemon().contains(&engine.defending()) { [INFO] [stdout] 379 | | if damage > 0 { [INFO] [stdout] 380 | | return Some(damage.saturating_add(10)); [INFO] [stdout] ... | [INFO] [stdout] 383 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 377 ~ if engine.attacking().attached.iter().any(|c| c.card() == card) [INFO] [stdout] 378 ~ && engine.opponents_active_pokemon().contains(&engine.defending()) { [INFO] [stdout] 379 | if damage > 0 { [INFO] [stdout] 380 | return Some(damage.saturating_add(10)); [INFO] [stdout] 381 | } [INFO] [stdout] 382 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:378:13 [INFO] [stdout] | [INFO] [stdout] 378 | / if engine.opponents_active_pokemon().contains(&engine.defending()) { [INFO] [stdout] 379 | | if damage > 0 { [INFO] [stdout] 380 | | return Some(damage.saturating_add(10)); [INFO] [stdout] 381 | | } [INFO] [stdout] 382 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 378 ~ if engine.opponents_active_pokemon().contains(&engine.defending()) [INFO] [stdout] 379 ~ && damage > 0 { [INFO] [stdout] 380 | return Some(damage.saturating_add(10)); [INFO] [stdout] 381 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:332:42 [INFO] [stdout] | [INFO] [stdout] 332 | engine.remove_special_conditions(&target) [INFO] [stdout] | ^^^^^^^ help: change this to: `target` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().cloned().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:369:55 [INFO] [stdout] | [INFO] [stdout] 369 | let targets = engine.state.side(player).active.iter().cloned().collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 377 | / if engine.attacking().attached.iter().any(|c| c.card() == card) { [INFO] [stdout] 378 | | if engine.opponents_active_pokemon().contains(&engine.defending()) { [INFO] [stdout] 379 | | if damage > 0 { [INFO] [stdout] 380 | | return Some(damage.saturating_add(10)); [INFO] [stdout] ... | [INFO] [stdout] 383 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 377 ~ if engine.attacking().attached.iter().any(|c| c.card() == card) [INFO] [stdout] 378 ~ && engine.opponents_active_pokemon().contains(&engine.defending()) { [INFO] [stdout] 379 | if damage > 0 { [INFO] [stdout] 380 | return Some(damage.saturating_add(10)); [INFO] [stdout] 381 | } [INFO] [stdout] 382 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> ptcg-core/src/sets/base/trainers.rs:378:13 [INFO] [stdout] | [INFO] [stdout] 378 | / if engine.opponents_active_pokemon().contains(&engine.defending()) { [INFO] [stdout] 379 | | if damage > 0 { [INFO] [stdout] 380 | | return Some(damage.saturating_add(10)); [INFO] [stdout] 381 | | } [INFO] [stdout] 382 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 378 ~ if engine.opponents_active_pokemon().contains(&engine.defending()) [INFO] [stdout] 379 ~ && damage > 0 { [INFO] [stdout] 380 | return Some(damage.saturating_add(10)); [INFO] [stdout] 381 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CLI` contains a capitalized acronym [INFO] [stdout] --> ptcg-core/src/main.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct CLI {} [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Cli` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `CLI` contains a capitalized acronym [INFO] [stdout] --> ptcg-core/src/main.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct CLI {} [INFO] [stdout] | ^^^ help: consider making the acronym lowercase, except the initial letter: `Cli` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/main.rs:229:135 [INFO] [stdout] | [INFO] [stdout] 229 | ...std::ops::RangeInclusive, what: &str, possibilities: &Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 229 - fn print_possibilities(player: Player, how_many: &std::ops::RangeInclusive, what: &str, possibilities: &Vec) { [INFO] [stdout] 229 + fn print_possibilities(player: Player, how_many: &std::ops::RangeInclusive, what: &str, possibilities: &[T]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/main.rs:236:38 [INFO] [stdout] | [INFO] [stdout] 236 | fn pick_number(possibilities: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 236 - fn pick_number(possibilities: &Vec) -> usize { [INFO] [stdout] 236 + fn pick_number(possibilities: &[T]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/main.rs:229:135 [INFO] [stdout] | [INFO] [stdout] 229 | ...std::ops::RangeInclusive, what: &str, possibilities: &Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 229 - fn print_possibilities(player: Player, how_many: &std::ops::RangeInclusive, what: &str, possibilities: &Vec) { [INFO] [stdout] 229 + fn print_possibilities(player: Player, how_many: &std::ops::RangeInclusive, what: &str, possibilities: &[T]) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> ptcg-core/src/main.rs:262:42 [INFO] [stdout] | [INFO] [stdout] 262 | None => { return Err(std::io::Error::new(std::io::ErrorKind::Other, "")); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 262 - None => { return Err(std::io::Error::new(std::io::ErrorKind::Other, "")); }, [INFO] [stdout] 262 + None => { return Err(std::io::Error::other("")); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> ptcg-core/src/main.rs:236:38 [INFO] [stdout] | [INFO] [stdout] 236 | fn pick_number(possibilities: &Vec) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 236 - fn pick_number(possibilities: &Vec) -> usize { [INFO] [stdout] 236 + fn pick_number(possibilities: &[T]) -> usize { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> ptcg-core/src/main.rs:265:52 [INFO] [stdout] | [INFO] [stdout] 265 | ... Err(_) => { return Err(std::io::Error::new(std::io::ErrorKind::Other, "")); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 265 - Err(_) => { return Err(std::io::Error::new(std::io::ErrorKind::Other, "")); }, [INFO] [stdout] 265 + Err(_) => { return Err(std::io::Error::other("")); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> ptcg-core/src/main.rs:262:42 [INFO] [stdout] | [INFO] [stdout] 262 | None => { return Err(std::io::Error::new(std::io::ErrorKind::Other, "")); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] = note: `#[warn(clippy::io_other_error)]` on by default [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 262 - None => { return Err(std::io::Error::new(std::io::ErrorKind::Other, "")); }, [INFO] [stdout] 262 + None => { return Err(std::io::Error::other("")); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this can be `std::io::Error::other(_)` [INFO] [stdout] --> ptcg-core/src/main.rs:265:52 [INFO] [stdout] | [INFO] [stdout] 265 | ... Err(_) => { return Err(std::io::Error::new(std::io::ErrorKind::Other, "")); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#io_other_error [INFO] [stdout] help: use `std::io::Error::other` [INFO] [stdout] | [INFO] [stdout] 265 - Err(_) => { return Err(std::io::Error::new(std::io::ErrorKind::Other, "")); }, [INFO] [stdout] 265 + Err(_) => { return Err(std::io::Error::other("")); }, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: feature `int_roundings` is declared but not used [INFO] [stdout] --> ptcg-core/src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(int_roundings)] [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: feature `int_roundings` is declared but not used [INFO] [stdout] --> ptcg-core/src/main.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(int_roundings)] [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.22s [INFO] running `Command { std: "docker" "inspect" "5df45c6be409848577483fd9538e5ee50c17b5f68d34ebab8b346eaf812a2e2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5df45c6be409848577483fd9538e5ee50c17b5f68d34ebab8b346eaf812a2e2d", kill_on_drop: false }` [INFO] [stdout] 5df45c6be409848577483fd9538e5ee50c17b5f68d34ebab8b346eaf812a2e2d