[INFO] cloning repository https://github.com/Kmoran1512/kf_player [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kmoran1512/kf_player" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKmoran1512%2Fkf_player", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKmoran1512%2Fkf_player'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 92c7514f0d0355c161438c747644cb131a4bfab0 [INFO] linting Kmoran1512/kf_player against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKmoran1512%2Fkf_player" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Kmoran1512/kf_player [INFO] finished tweaking git repo https://github.com/Kmoran1512/kf_player [INFO] tweaked toml for git repo https://github.com/Kmoran1512/kf_player written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Kmoran1512/kf_player 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/Kmoran1512/kf_player 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] Downloading crates ... [INFO] [stderr] Downloaded serde_json v1.0.62 [INFO] [stderr] Downloaded serde v1.0.123 [INFO] [stderr] Downloaded libc v0.2.86 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 8f3cbb79c27bfc7487b959d571b6c1ee39445934f4cc5531db1b80eeb1583190 [INFO] running `Command { std: "docker" "start" "-a" "8f3cbb79c27bfc7487b959d571b6c1ee39445934f4cc5531db1b80eeb1583190", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8f3cbb79c27bfc7487b959d571b6c1ee39445934f4cc5531db1b80eeb1583190", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8f3cbb79c27bfc7487b959d571b6c1ee39445934f4cc5531db1b80eeb1583190", kill_on_drop: false }` [INFO] [stdout] 8f3cbb79c27bfc7487b959d571b6c1ee39445934f4cc5531db1b80eeb1583190 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] d1b5cbc36149bd9e20e1c40a25faed9503c3340e0247e343d351a26babd14d33 [INFO] running `Command { std: "docker" "start" "-a" "d1b5cbc36149bd9e20e1c40a25faed9503c3340e0247e343d351a26babd14d33", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling libc v0.2.86 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling serde v1.0.123 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Checking once_cell v1.5.2 [INFO] [stderr] Compiling serde_json v1.0.62 [INFO] [stderr] Checking thread_local v1.1.3 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking aho-corasick v0.7.15 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking itoa v0.4.7 [INFO] [stderr] Checking regex-syntax v0.6.22 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking regex v1.4.3 [INFO] [stderr] Checking kf_player v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller/card_list/aaa_empty.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | owning_player_number: owning_player_number, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `owning_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller/card_list/aaa_empty.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | owning_player_number: owning_player_number, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `owning_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller/card_list/aaa_empty.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | house: house, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `house` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller/card_list/aaa_empty.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | house: house, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `house` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller/card_list/aaa_empty.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | keywords: keywords, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `keywords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller/card_list/aaa_empty.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | keywords: keywords, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `keywords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller/card_list/aaa_empty.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | keywords: keywords, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `keywords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | owning_player_number: owning_player_number, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `owning_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | assault_x: assault_x, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assault_x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | owning_player_number: owning_player_number, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `owning_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | card_list: card_list, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `card_list` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | owning_player_number: owning_player_number, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `owning_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | houses: houses, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `houses` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller/card_list/aaa_empty.rs:59:9 [INFO] [stdout] | [INFO] [stdout] 59 | keywords: keywords, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `keywords` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | card_list: card_list, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `card_list` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | owning_player_number: owning_player_number, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `owning_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/card_controller.rs:167:9 [INFO] [stdout] | [INFO] [stdout] 167 | assault_x: assault_x, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `assault_x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:40:13 [INFO] [stdout] | [INFO] [stdout] 40 | owning_player_number: owning_player_number, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `owning_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:47:13 [INFO] [stdout] | [INFO] [stdout] 47 | card_list: card_list, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `card_list` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:85:13 [INFO] [stdout] | [INFO] [stdout] 85 | owning_player_number: owning_player_number, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `owning_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | houses: houses, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `houses` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/game_controller/deck_controller.rs:88:13 [INFO] [stdout] | [INFO] [stdout] 88 | card_list: card_list, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `card_list` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | additional_fn: Option<&dyn Fn(&super::Card, &super::super::GameState) -> StateDiff>, [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: this boolean expression can be simplified [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | if !(additional_fn.is_none()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `additional_fn.is_some()` [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: called `unwrap` on `additional_fn` after checking its variant with `is_none` [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 19 | if !(additional_fn.is_none()) { [INFO] [stdout] | ------------------------- the check is happening here [INFO] [stdout] 20 | temp_gs.add(&additional_fn.unwrap()(card, gs)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | additional_fn: Option<&dyn Fn(&super::Card, &super::super::GameState) -> StateDiff>, [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: this boolean expression can be simplified [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | if !(additional_fn.is_none()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `additional_fn.is_some()` [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: called `unwrap` on `additional_fn` after checking its variant with `is_none` [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:53:22 [INFO] [stdout] | [INFO] [stdout] 52 | if !(additional_fn.is_none()) { [INFO] [stdout] | ------------------------- the check is happening here [INFO] [stdout] 53 | temp_gs.add(&additional_fn.unwrap()(card, gs)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:58:31 [INFO] [stdout] | [INFO] [stdout] 58 | PlayerDiff::set_equal(&temp_gs.get_player_by_number(card.hard_info.owning_player_number)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `temp_gs.get_player_by_number(card.hard_info.owning_player_number)` [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: this match could be replaced by its body itself [INFO] [stdout] --> src/game_controller/card_controller/card_list.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | / match card.hard_info.name { [INFO] [stdout] 11 | | _ => match card.hard_info.card_type.as_str() { [INFO] [stdout] 12 | | "Action" => card_actions::default_play_action_card(card, gs, None), [INFO] [stdout] ... | [INFO] [stdout] 17 | | }, [INFO] [stdout] 18 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 10 ~ match card.hard_info.card_type.as_str() { [INFO] [stdout] 11 + "Action" => card_actions::default_play_action_card(card, gs, None), [INFO] [stdout] 12 + // "Creature" => card_actions::default_play_creature_card(), [INFO] [stdout] 13 + // "Upgrade" => card_actions::default_play_upgrade_card(), [INFO] [stdout] 14 + // "Artifact" => card_actions::default_play_artifact_card(), [INFO] [stdout] 15 + _ => panic!("unrecognized or unsupported card type"), [INFO] [stdout] 16 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/game_controller/card_controller/card_list.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / match card.hard_info.name { [INFO] [stdout] 23 | | _ => card_actions::default_discard_card(card, gs, None), [INFO] [stdout] 24 | | } [INFO] [stdout] | |_____^ help: consider using the match body instead: `card_actions::default_discard_card(card, gs, None)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/game_controller/card_controller/card_list.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / match card.hard_info.name { [INFO] [stdout] 29 | | _ => card_actions::ready_card(card), [INFO] [stdout] 30 | | } [INFO] [stdout] | |_____^ help: consider using the match body instead: `card_actions::ready_card(card)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:124:16 [INFO] [stdout] | [INFO] [stdout] 124 | 341 => return "Call of the Archons", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - 341 => return "Call of the Archons", [INFO] [stdout] 124 + 341 => "Call of the Archons", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | 435 => return "Age of Ascension", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - 435 => return "Age of Ascension", [INFO] [stdout] 125 + 435 => "Age of Ascension", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:126:16 [INFO] [stdout] | [INFO] [stdout] 126 | 452 => return "Worlds Collide", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - 452 => return "Worlds Collide", [INFO] [stdout] 126 + 452 => "Worlds Collide", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | 453 => return "Anomaly...", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - 453 => return "Anomaly...", [INFO] [stdout] 127 + 453 => "Anomaly...", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 128 | 479 => return "Mass Mutation", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - 479 => return "Mass Mutation", [INFO] [stdout] 128 + 479 => "Mass Mutation", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `assualt_check` after checking its variant with `is_none` [INFO] [stdout] --> src/game_controller/card_controller.rs:156:33 [INFO] [stdout] | [INFO] [stdout] 153 | let assault_x = if assualt_check.is_none() { [INFO] [stdout] | -------------------------- help: try: `if let Some() = assualt_check` [INFO] [stdout] ... [INFO] [stdout] 156 | get_number_from_keyword(assualt_check.unwrap().as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `hazard_check` after checking its variant with `is_none` [INFO] [stdout] --> src/game_controller/card_controller.rs:162:33 [INFO] [stdout] | [INFO] [stdout] 159 | let hazard_x = if hazard_check.is_none() { [INFO] [stdout] | ------------------------- help: try: `if let Some() = hazard_check` [INFO] [stdout] ... [INFO] [stdout] 162 | get_number_from_keyword(hazard_check.unwrap().as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `cards_id_list` [INFO] [stdout] --> src/game_controller/deck_controller.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | for i in 0..cards_id_list.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 73 - for i in 0..cards_id_list.len() { [INFO] [stdout] 73 + for in &cards_id_list { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:176:34 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn shuffle_deck(library: &Vec) -> 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] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 176 ~ pub fn shuffle_deck(library: &[Card]) -> Vec { [INFO] [stdout] 177 ~ let mut temp_library = library.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:181:36 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn reshuffle_deck(library: &Vec, discard: &Vec) -> (Vec, 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] 181 ~ pub fn reshuffle_deck(library: &[Card], discard: &Vec) -> (Vec, Vec) { [INFO] [stdout] 182 ~ let mut temp_library = library.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:181:57 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn reshuffle_deck(library: &Vec, discard: &Vec) -> (Vec, 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] 181 ~ pub fn reshuffle_deck(library: &Vec, discard: &[Card]) -> (Vec, Vec) { [INFO] [stdout] 182 | let mut temp_library = library.clone(); [INFO] [stdout] 183 ~ temp_library.append(&mut discard.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:188:18 [INFO] [stdout] | [INFO] [stdout] 188 | library: &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] 188 ~ library: &[Card], [INFO] [stdout] 189 | discard: &Vec, [INFO] [stdout] 190 | hand: &Vec, [INFO] [stdout] 191 | ) -> (Vec, Vec, Vec) { [INFO] [stdout] 192 ~ let mut temp_library = library.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:189:18 [INFO] [stdout] | [INFO] [stdout] 189 | discard: &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] 189 ~ discard: &[Card], [INFO] [stdout] 190 | hand: &Vec, [INFO] [stdout] ... [INFO] [stdout] 193 | temp_library.append(&mut hand.clone()); [INFO] [stdout] 194 ~ temp_library.append(&mut discard.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:190:15 [INFO] [stdout] | [INFO] [stdout] 190 | hand: &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] 190 ~ hand: &[Card], [INFO] [stdout] 191 | ) -> (Vec, Vec, Vec) { [INFO] [stdout] 192 | let mut temp_library = library.clone(); [INFO] [stdout] 193 ~ temp_library.append(&mut hand.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:255:53 [INFO] [stdout] | [INFO] [stdout] 255 | pub fn remove_card_from_area(card: &Card, area: &Vec) -> 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] 255 ~ pub fn remove_card_from_area(card: &Card, area: &[Card]) -> Vec { [INFO] [stdout] 256 ~ let mut ret_area = area.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:266:48 [INFO] [stdout] | [INFO] [stdout] 266 | pub fn add_card_to_area(card: &Card, area: &Vec) -> 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] 266 ~ pub fn add_card_to_area(card: &Card, area: &[Card]) -> Vec { [INFO] [stdout] 267 ~ let mut ret_area = area.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | / return self.creature_board.is_none() [INFO] [stdout] 275 | | && self.artifact_board.is_none() [INFO] [stdout] 276 | | && self.hand.is_none() [INFO] [stdout] 277 | | && self.archives.is_none() [INFO] [stdout] ... | [INFO] [stdout] 285 | | && self.hand_size.is_none() [INFO] [stdout] 286 | | && self.active_house.is_none(); [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 274 ~ self.creature_board.is_none() [INFO] [stdout] 275 + && self.artifact_board.is_none() [INFO] [stdout] 276 + && self.hand.is_none() [INFO] [stdout] 277 + && self.archives.is_none() [INFO] [stdout] 278 + && self.library.is_none() [INFO] [stdout] 279 + && self.discard.is_none() [INFO] [stdout] 280 + && self.purged.is_none() [INFO] [stdout] 281 + && self.amber.is_none() [INFO] [stdout] 282 + && self.keys.is_none() [INFO] [stdout] 283 + && self.chains.is_none() [INFO] [stdout] 284 + && self.key_cost.is_none() [INFO] [stdout] 285 + && self.hand_size.is_none() [INFO] [stdout] 286 ~ && self.active_house.is_none() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:292:9 [INFO] [stdout] | [INFO] [stdout] 292 | return 4; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 292 - return 4; [INFO] [stdout] 292 + 4 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | return 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 294 - return 3; [INFO] [stdout] 294 + 3 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:296:9 [INFO] [stdout] | [INFO] [stdout] 296 | return 2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 296 - return 2; [INFO] [stdout] 296 + 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | return 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 298 - return 1; [INFO] [stdout] 298 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 300 - return 0; [INFO] [stdout] 300 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/game_controller/game_actions.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | from_player_number as i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `from_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | "ronnie" => return Minds::Ronnie, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - "ronnie" => return Minds::Ronnie, [INFO] [stdout] 24 + "ronnie" => Minds::Ronnie, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | "lollop" => return Minds::Lollop, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - "lollop" => return Minds::Lollop, [INFO] [stdout] 25 + "lollop" => Minds::Lollop, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 26 | "blank" => return Minds::Lollop, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - "blank" => return Minds::Lollop, [INFO] [stdout] 26 + "blank" => Minds::Lollop, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | "ruth" => return Minds::Ruth, // This will be unimplemented for a long time [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - "ruth" => return Minds::Ruth, // This will be unimplemented for a long time [INFO] [stdout] 27 + "ruth" => Minds::Ruth, // This will be unimplemented for a long time [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 28 | "human" => return Minds::Human, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 - "human" => return Minds::Human, [INFO] [stdout] 28 + "human" => Minds::Human, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | _ => return Minds::Human, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 29 - _ => return Minds::Human, [INFO] [stdout] 29 + _ => Minds::Human, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if !pd.creature_board.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.creature_board.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | if !pd.artifact_board.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.artifact_board.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | if !pd.hand.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `pd.hand.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | if !pd.archives.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.archives.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | if !pd.library.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.library.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | if !pd.discard.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.discard.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if !pd.purged.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `pd.purged.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | if !pd.keys.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `pd.keys.is_some()` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/game_controller/player_choices.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | &gs, [INFO] [stdout] | ^^^ help: change this to: `gs` [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: needlessly taken reference of both operands [INFO] [stdout] --> src/game_controller/player_choices.rs:76:31 [INFO] [stdout] | [INFO] [stdout] 76 | .position(|x| &x == &key) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 76 - .position(|x| &x == &key) [INFO] [stdout] 76 + .position(|x| x == key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/game_controller/player_choices.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | &gs, [INFO] [stdout] | ^^^ help: change this to: `gs` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player_choices.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | if !player_to_choose.active_house.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `player_to_choose.active_house.is_some()` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/game_controller/player_choices.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | &gs, [INFO] [stdout] | ^^^ help: change this to: `gs` [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] --> src/game_controller/player_choices.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | &gs, [INFO] [stdout] | ^^^ help: change this to: `gs` [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: unneeded `return` statement [INFO] [stdout] --> src/game_controller.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | return current.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 138 - return current.clone(); [INFO] [stdout] 138 + current.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/game_controller.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 74 | part = part % 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `part %= 7` [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: length comparison to zero [INFO] [stdout] --> src/game_controller.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | self.first_player.keys.len() == 0 || self.second_player.keys.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.first_player.keys.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: length comparison to zero [INFO] [stdout] --> src/game_controller.rs:196:46 [INFO] [stdout] | [INFO] [stdout] 196 | self.first_player.keys.len() == 0 || self.second_player.keys.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.second_player.keys.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] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/most_cards/lollop.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | fn chooser_key(moves: &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] 21 - fn chooser_key(moves: &Vec) -> usize { [INFO] [stdout] 21 + fn chooser_key(moves: &[super::super::game_controller::move_controller::Move]) -> 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] --> src/most_cards/lollop.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | moves: &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] 76 - moves: &Vec, [INFO] [stdout] 76 + moves: &[super::super::game_controller::move_controller::Move], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/most_cards/lollop.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | if h_i < min && !location_of_tied_houses.iter().find(|&&h| h == i).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `location_of_tied_houses.iter().find(|&&h| h == i).is_some()` [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: unneeded `return` statement [INFO] [stdout] --> src/most_cards/lollop.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | return i_min; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 141 - return i_min; [INFO] [stdout] 141 + i_min [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/most_cards/lollop.rs:126:30 [INFO] [stdout] | [INFO] [stdout] 126 | location_of_tied_houses: &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] 126 - location_of_tied_houses: &Vec, [INFO] [stdout] 126 + location_of_tied_houses: &[usize], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | additional_fn: Option<&dyn Fn(&super::Card, &super::super::GameState) -> StateDiff>, [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: this boolean expression can be simplified [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | if !(additional_fn.is_none()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `additional_fn.is_some()` [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: called `unwrap` on `additional_fn` after checking its variant with `is_none` [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:20:22 [INFO] [stdout] | [INFO] [stdout] 19 | if !(additional_fn.is_none()) { [INFO] [stdout] | ------------------------- the check is happening here [INFO] [stdout] 20 | temp_gs.add(&additional_fn.unwrap()(card, gs)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | additional_fn: Option<&dyn Fn(&super::Card, &super::super::GameState) -> StateDiff>, [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: this boolean expression can be simplified [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | if !(additional_fn.is_none()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `additional_fn.is_some()` [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: called `unwrap` on `additional_fn` after checking its variant with `is_none` [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:53:22 [INFO] [stdout] | [INFO] [stdout] 52 | if !(additional_fn.is_none()) { [INFO] [stdout] | ------------------------- the check is happening here [INFO] [stdout] 53 | temp_gs.add(&additional_fn.unwrap()(card, gs)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/game_controller/card_controller/card_actions.rs:58:31 [INFO] [stdout] | [INFO] [stdout] 58 | PlayerDiff::set_equal(&temp_gs.get_player_by_number(card.hard_info.owning_player_number)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `temp_gs.get_player_by_number(card.hard_info.owning_player_number)` [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: this match could be replaced by its body itself [INFO] [stdout] --> src/game_controller/card_controller/card_list.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | / match card.hard_info.name { [INFO] [stdout] 11 | | _ => match card.hard_info.card_type.as_str() { [INFO] [stdout] 12 | | "Action" => card_actions::default_play_action_card(card, gs, None), [INFO] [stdout] ... | [INFO] [stdout] 17 | | }, [INFO] [stdout] 18 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] = note: `#[warn(clippy::match_single_binding)]` on by default [INFO] [stdout] help: consider using the match body instead [INFO] [stdout] | [INFO] [stdout] 10 ~ match card.hard_info.card_type.as_str() { [INFO] [stdout] 11 + "Action" => card_actions::default_play_action_card(card, gs, None), [INFO] [stdout] 12 + // "Creature" => card_actions::default_play_creature_card(), [INFO] [stdout] 13 + // "Upgrade" => card_actions::default_play_upgrade_card(), [INFO] [stdout] 14 + // "Artifact" => card_actions::default_play_artifact_card(), [INFO] [stdout] 15 + _ => panic!("unrecognized or unsupported card type"), [INFO] [stdout] 16 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/game_controller/card_controller/card_list.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | / match card.hard_info.name { [INFO] [stdout] 23 | | _ => card_actions::default_discard_card(card, gs, None), [INFO] [stdout] 24 | | } [INFO] [stdout] | |_____^ help: consider using the match body instead: `card_actions::default_discard_card(card, gs, None)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this match could be replaced by its body itself [INFO] [stdout] --> src/game_controller/card_controller/card_list.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | / match card.hard_info.name { [INFO] [stdout] 29 | | _ => card_actions::ready_card(card), [INFO] [stdout] 30 | | } [INFO] [stdout] | |_____^ help: consider using the match body instead: `card_actions::ready_card(card)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_single_binding [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:124:16 [INFO] [stdout] | [INFO] [stdout] 124 | 341 => return "Call of the Archons", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 124 - 341 => return "Call of the Archons", [INFO] [stdout] 124 + 341 => "Call of the Archons", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | 435 => return "Age of Ascension", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 125 - 435 => return "Age of Ascension", [INFO] [stdout] 125 + 435 => "Age of Ascension", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:126:16 [INFO] [stdout] | [INFO] [stdout] 126 | 452 => return "Worlds Collide", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 126 - 452 => return "Worlds Collide", [INFO] [stdout] 126 + 452 => "Worlds Collide", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | 453 => return "Anomaly...", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 127 - 453 => return "Anomaly...", [INFO] [stdout] 127 + 453 => "Anomaly...", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/card_controller.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 128 | 479 => return "Mass Mutation", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - 479 => return "Mass Mutation", [INFO] [stdout] 128 + 479 => "Mass Mutation", [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `assualt_check` after checking its variant with `is_none` [INFO] [stdout] --> src/game_controller/card_controller.rs:156:33 [INFO] [stdout] | [INFO] [stdout] 153 | let assault_x = if assualt_check.is_none() { [INFO] [stdout] | -------------------------- help: try: `if let Some() = assualt_check` [INFO] [stdout] ... [INFO] [stdout] 156 | get_number_from_keyword(assualt_check.unwrap().as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `hazard_check` after checking its variant with `is_none` [INFO] [stdout] --> src/game_controller/card_controller.rs:162:33 [INFO] [stdout] | [INFO] [stdout] 159 | let hazard_x = if hazard_check.is_none() { [INFO] [stdout] | ------------------------- help: try: `if let Some() = hazard_check` [INFO] [stdout] ... [INFO] [stdout] 162 | get_number_from_keyword(hazard_check.unwrap().as_str()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `cards_id_list` [INFO] [stdout] --> src/game_controller/deck_controller.rs:73:18 [INFO] [stdout] | [INFO] [stdout] 73 | for i in 0..cards_id_list.len() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 73 - for i in 0..cards_id_list.len() { [INFO] [stdout] 73 + for in &cards_id_list { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:176:34 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn shuffle_deck(library: &Vec) -> 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] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 176 ~ pub fn shuffle_deck(library: &[Card]) -> Vec { [INFO] [stdout] 177 ~ let mut temp_library = library.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:181:36 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn reshuffle_deck(library: &Vec, discard: &Vec) -> (Vec, 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] 181 ~ pub fn reshuffle_deck(library: &[Card], discard: &Vec) -> (Vec, Vec) { [INFO] [stdout] 182 ~ let mut temp_library = library.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:181:57 [INFO] [stdout] | [INFO] [stdout] 181 | pub fn reshuffle_deck(library: &Vec, discard: &Vec) -> (Vec, 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] 181 ~ pub fn reshuffle_deck(library: &Vec, discard: &[Card]) -> (Vec, Vec) { [INFO] [stdout] 182 | let mut temp_library = library.clone(); [INFO] [stdout] 183 ~ temp_library.append(&mut discard.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:188:18 [INFO] [stdout] | [INFO] [stdout] 188 | library: &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] 188 ~ library: &[Card], [INFO] [stdout] 189 | discard: &Vec, [INFO] [stdout] 190 | hand: &Vec, [INFO] [stdout] 191 | ) -> (Vec, Vec, Vec) { [INFO] [stdout] 192 ~ let mut temp_library = library.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:189:18 [INFO] [stdout] | [INFO] [stdout] 189 | discard: &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] 189 ~ discard: &[Card], [INFO] [stdout] 190 | hand: &Vec, [INFO] [stdout] ... [INFO] [stdout] 193 | temp_library.append(&mut hand.clone()); [INFO] [stdout] 194 ~ temp_library.append(&mut discard.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:190:15 [INFO] [stdout] | [INFO] [stdout] 190 | hand: &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] 190 ~ hand: &[Card], [INFO] [stdout] 191 | ) -> (Vec, Vec, Vec) { [INFO] [stdout] 192 | let mut temp_library = library.clone(); [INFO] [stdout] 193 ~ temp_library.append(&mut hand.to_owned()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:255:53 [INFO] [stdout] | [INFO] [stdout] 255 | pub fn remove_card_from_area(card: &Card, area: &Vec) -> 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] 255 ~ pub fn remove_card_from_area(card: &Card, area: &[Card]) -> Vec { [INFO] [stdout] 256 ~ let mut ret_area = area.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/game_controller/diff_controller.rs:266:48 [INFO] [stdout] | [INFO] [stdout] 266 | pub fn add_card_to_area(card: &Card, area: &Vec) -> 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] 266 ~ pub fn add_card_to_area(card: &Card, area: &[Card]) -> Vec { [INFO] [stdout] 267 ~ let mut ret_area = area.to_owned(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:274:9 [INFO] [stdout] | [INFO] [stdout] 274 | / return self.creature_board.is_none() [INFO] [stdout] 275 | | && self.artifact_board.is_none() [INFO] [stdout] 276 | | && self.hand.is_none() [INFO] [stdout] 277 | | && self.archives.is_none() [INFO] [stdout] ... | [INFO] [stdout] 285 | | && self.hand_size.is_none() [INFO] [stdout] 286 | | && self.active_house.is_none(); [INFO] [stdout] | |__________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 274 ~ self.creature_board.is_none() [INFO] [stdout] 275 + && self.artifact_board.is_none() [INFO] [stdout] 276 + && self.hand.is_none() [INFO] [stdout] 277 + && self.archives.is_none() [INFO] [stdout] 278 + && self.library.is_none() [INFO] [stdout] 279 + && self.discard.is_none() [INFO] [stdout] 280 + && self.purged.is_none() [INFO] [stdout] 281 + && self.amber.is_none() [INFO] [stdout] 282 + && self.keys.is_none() [INFO] [stdout] 283 + && self.chains.is_none() [INFO] [stdout] 284 + && self.key_cost.is_none() [INFO] [stdout] 285 + && self.hand_size.is_none() [INFO] [stdout] 286 ~ && self.active_house.is_none() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:292:9 [INFO] [stdout] | [INFO] [stdout] 292 | return 4; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 292 - return 4; [INFO] [stdout] 292 + 4 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | return 3; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 294 - return 3; [INFO] [stdout] 294 + 3 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:296:9 [INFO] [stdout] | [INFO] [stdout] 296 | return 2; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 296 - return 2; [INFO] [stdout] 296 + 2 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | return 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 298 - return 1; [INFO] [stdout] 298 + 1 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/diff_controller.rs:300:9 [INFO] [stdout] | [INFO] [stdout] 300 | return 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 300 - return 0; [INFO] [stdout] 300 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i64` -> `i64`) [INFO] [stdout] --> src/game_controller/game_actions.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | from_player_number as i64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `from_player_number` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | "ronnie" => return Minds::Ronnie, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 24 - "ronnie" => return Minds::Ronnie, [INFO] [stdout] 24 + "ronnie" => Minds::Ronnie, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:25:25 [INFO] [stdout] | [INFO] [stdout] 25 | "lollop" => return Minds::Lollop, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 25 - "lollop" => return Minds::Lollop, [INFO] [stdout] 25 + "lollop" => Minds::Lollop, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:26:24 [INFO] [stdout] | [INFO] [stdout] 26 | "blank" => return Minds::Lollop, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 26 - "blank" => return Minds::Lollop, [INFO] [stdout] 26 + "blank" => Minds::Lollop, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:27:23 [INFO] [stdout] | [INFO] [stdout] 27 | "ruth" => return Minds::Ruth, // This will be unimplemented for a long time [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 27 - "ruth" => return Minds::Ruth, // This will be unimplemented for a long time [INFO] [stdout] 27 + "ruth" => Minds::Ruth, // This will be unimplemented for a long time [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:28:24 [INFO] [stdout] | [INFO] [stdout] 28 | "human" => return Minds::Human, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 28 - "human" => return Minds::Human, [INFO] [stdout] 28 + "human" => Minds::Human, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/game_controller/move_controller.rs:29:18 [INFO] [stdout] | [INFO] [stdout] 29 | _ => return Minds::Human, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 29 - _ => return Minds::Human, [INFO] [stdout] 29 + _ => Minds::Human, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if !pd.creature_board.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.creature_board.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:109:12 [INFO] [stdout] | [INFO] [stdout] 109 | if !pd.artifact_board.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.artifact_board.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | if !pd.hand.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `pd.hand.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 115 | if !pd.archives.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.archives.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | if !pd.library.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.library.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | if !pd.discard.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `pd.discard.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | if !pd.purged.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `pd.purged.is_some()` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 128 | if !pd.keys.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `pd.keys.is_some()` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/game_controller/player_choices.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | &gs, [INFO] [stdout] | ^^^ help: change this to: `gs` [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: needlessly taken reference of both operands [INFO] [stdout] --> src/game_controller/player_choices.rs:76:31 [INFO] [stdout] | [INFO] [stdout] 76 | .position(|x| &x == &key) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] help: use the values directly [INFO] [stdout] | [INFO] [stdout] 76 - .position(|x| &x == &key) [INFO] [stdout] 76 + .position(|x| x == key) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/game_controller/player_choices.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 95 | &gs, [INFO] [stdout] | ^^^ help: change this to: `gs` [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 boolean expression can be simplified [INFO] [stdout] --> src/game_controller/player_choices.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | if !player_to_choose.active_house.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `player_to_choose.active_house.is_some()` [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 expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/game_controller/player_choices.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | &gs, [INFO] [stdout] | ^^^ help: change this to: `gs` [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] --> src/game_controller/player_choices.rs:238:9 [INFO] [stdout] | [INFO] [stdout] 238 | &gs, [INFO] [stdout] | ^^^ help: change this to: `gs` [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: unneeded `return` statement [INFO] [stdout] --> src/game_controller.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | return current.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 138 - return current.clone(); [INFO] [stdout] 138 + current.clone() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/game_controller.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 74 | part = part % 7; [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace it with: `part %= 7` [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: length comparison to zero [INFO] [stdout] --> src/game_controller.rs:196:9 [INFO] [stdout] | [INFO] [stdout] 196 | self.first_player.keys.len() == 0 || self.second_player.keys.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.first_player.keys.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: length comparison to zero [INFO] [stdout] --> src/game_controller.rs:196:46 [INFO] [stdout] | [INFO] [stdout] 196 | self.first_player.keys.len() == 0 || self.second_player.keys.len() == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.second_player.keys.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] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/most_cards/lollop.rs:21:23 [INFO] [stdout] | [INFO] [stdout] 21 | fn chooser_key(moves: &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] 21 - fn chooser_key(moves: &Vec) -> usize { [INFO] [stdout] 21 + fn chooser_key(moves: &[super::super::game_controller::move_controller::Move]) -> 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] --> src/most_cards/lollop.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 76 | moves: &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] 76 - moves: &Vec, [INFO] [stdout] 76 + moves: &[super::super::game_controller::move_controller::Move], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/most_cards/lollop.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | if h_i < min && !location_of_tied_houses.iter().find(|&&h| h == i).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `location_of_tied_houses.iter().find(|&&h| h == i).is_some()` [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: unneeded `return` statement [INFO] [stdout] --> src/most_cards/lollop.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | return i_min; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 141 - return i_min; [INFO] [stdout] 141 + i_min [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/most_cards/lollop.rs:126:30 [INFO] [stdout] | [INFO] [stdout] 126 | location_of_tied_houses: &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] 126 - location_of_tied_houses: &Vec, [INFO] [stdout] 126 + location_of_tied_houses: &[usize], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.34s [INFO] running `Command { std: "docker" "inspect" "d1b5cbc36149bd9e20e1c40a25faed9503c3340e0247e343d351a26babd14d33", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d1b5cbc36149bd9e20e1c40a25faed9503c3340e0247e343d351a26babd14d33", kill_on_drop: false }` [INFO] [stdout] d1b5cbc36149bd9e20e1c40a25faed9503c3340e0247e343d351a26babd14d33