[INFO] cloning repository https://github.com/aaarkid/coup [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aaarkid/coup" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaarkid%2Fcoup", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaarkid%2Fcoup'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a1a8e3421d687bd9c1e962d7412fcb2dcc4b6ef1 [INFO] building aaarkid/coup against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaarkid%2Fcoup" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/aaarkid/coup on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/aaarkid/coup [INFO] finished tweaking git repo https://github.com/aaarkid/coup [INFO] tweaked toml for git repo https://github.com/aaarkid/coup written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/aaarkid/coup 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1a16e5cca050b8db8ed36bb22749906e7dd11a3d3e0d0b892bcef88bd5ed090c [INFO] running `Command { std: "docker" "start" "-a" "1a16e5cca050b8db8ed36bb22749906e7dd11a3d3e0d0b892bcef88bd5ed090c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1a16e5cca050b8db8ed36bb22749906e7dd11a3d3e0d0b892bcef88bd5ed090c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1a16e5cca050b8db8ed36bb22749906e7dd11a3d3e0d0b892bcef88bd5ed090c", kill_on_drop: false }` [INFO] [stdout] 1a16e5cca050b8db8ed36bb22749906e7dd11a3d3e0d0b892bcef88bd5ed090c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 61da66779fecf11beb3869c4eaa169ee5fd59a2006e23f7ada685f70ea325047 [INFO] running `Command { std: "docker" "start" "-a" "61da66779fecf11beb3869c4eaa169ee5fd59a2006e23f7ada685f70ea325047", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.140 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling num-iter v0.1.43 [INFO] [stderr] Compiling matrixmultiply v0.1.15 [INFO] [stderr] Compiling rawpointer v0.1.0 [INFO] [stderr] Compiling getrandom v0.2.8 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling rulinalg v0.3.7 [INFO] [stderr] Compiling rusty-machine v0.5.4 [INFO] [stderr] Compiling coup v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ai::AIPlayer` [INFO] [stdout] --> src/main.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::player::{HumanPlayer, ai::AIPlayer}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rusty_machine::prelude::Matrix` [INFO] [stdout] --> src/gameai.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rusty_machine::prelude::Matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Action`, `BlockAction`, and `ChallengeAction` [INFO] [stdout] --> src/gameai.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::action::{Action, BlockAction, ChallengeAction}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::phase::Phase` [INFO] [stdout] --> src/gameai.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::phase::Phase; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::seq::SliceRandom` [INFO] [stdout] --> src/player/ai.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::seq::SliceRandom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_state` [INFO] [stdout] --> src/player/ai.rs:37:60 [INFO] [stdout] | [INFO] [stdout] 37 | fn choose_action(&self, possible_actions: Vec, game_state: &GameStateAI) -> Action { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player_index` [INFO] [stdout] --> src/player/ai.rs:127:30 [INFO] [stdout] | [INFO] [stdout] 127 | let (action, player_index) = &game_state.history[search]; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/player/ai.rs:168:49 [INFO] [stdout] | [INFO] [stdout] 168 | Action::Block(block_action, player, char) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `char` [INFO] [stdout] --> src/player/ai.rs:168:57 [INFO] [stdout] | [INFO] [stdout] 168 | Action::Block(block_action, player, char) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `players_lives`, `players_coins`, `revealed_characters`, and `cards_in_hand` are never read [INFO] [stdout] --> src/gameai.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GameStateAI { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 10 | pub players_lives: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub players_coins: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub revealed_characters: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub cards_in_hand: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameStateAI` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/player/ai.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct AIPlayer { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AIPlayer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/player/ai.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl AIPlayer { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 25 | pub fn new(name: String, index: usize) -> AIPlayer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `all` is never used [INFO] [stdout] --> src/character.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Character { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 11 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:219:25 [INFO] [stdout] | [INFO] [stdout] 219 | self.players[current_player].lose_coins(7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 219 | let _ = self.players[current_player].lose_coins(7); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:221:25 [INFO] [stdout] | [INFO] [stdout] 221 | self.players[target].remove_card_from_hand(card); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 221 | let _ = self.players[target].remove_card_from_hand(card); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:228:25 [INFO] [stdout] | [INFO] [stdout] 228 | self.players[current_player].lose_coins(3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 228 | let _ = self.players[current_player].lose_coins(3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | self.players[target].remove_card_from_hand(card); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 230 | let _ = self.players[target].remove_card_from_hand(card); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:240:25 [INFO] [stdout] | [INFO] [stdout] 240 | self.players[current_player].remove_card_from_hand(card1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 240 | let _ = self.players[current_player].remove_card_from_hand(card1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:241:25 [INFO] [stdout] | [INFO] [stdout] 241 | self.players[current_player].remove_card_from_hand(card2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 241 | let _ = self.players[current_player].remove_card_from_hand(card2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:246:25 [INFO] [stdout] | [INFO] [stdout] 246 | self.players[target].lose_coins(amount); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 246 | let _ = self.players[target].lose_coins(amount); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.64s [INFO] running `Command { std: "docker" "inspect" "61da66779fecf11beb3869c4eaa169ee5fd59a2006e23f7ada685f70ea325047", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61da66779fecf11beb3869c4eaa169ee5fd59a2006e23f7ada685f70ea325047", kill_on_drop: false }` [INFO] [stdout] 61da66779fecf11beb3869c4eaa169ee5fd59a2006e23f7ada685f70ea325047 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bc8e4ec7314d3f4a43973f94ff18968d5aa6ecc592cda188fdd1e2a1e14bc404 [INFO] running `Command { std: "docker" "start" "-a" "bc8e4ec7314d3f4a43973f94ff18968d5aa6ecc592cda188fdd1e2a1e14bc404", kill_on_drop: false }` [INFO] [stderr] Compiling coup v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ai::AIPlayer` [INFO] [stdout] --> src/main.rs:4:34 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::player::{HumanPlayer, ai::AIPlayer}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rusty_machine::prelude::Matrix` [INFO] [stdout] --> src/gameai.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rusty_machine::prelude::Matrix; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Action`, `BlockAction`, and `ChallengeAction` [INFO] [stdout] --> src/gameai.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::action::{Action, BlockAction, ChallengeAction}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::phase::Phase` [INFO] [stdout] --> src/gameai.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::phase::Phase; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::seq::SliceRandom` [INFO] [stdout] --> src/player/ai.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::seq::SliceRandom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `game_state` [INFO] [stdout] --> src/player/ai.rs:37:60 [INFO] [stdout] | [INFO] [stdout] 37 | fn choose_action(&self, possible_actions: Vec, game_state: &GameStateAI) -> Action { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player_index` [INFO] [stdout] --> src/player/ai.rs:127:30 [INFO] [stdout] | [INFO] [stdout] 127 | let (action, player_index) = &game_state.history[search]; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `player` [INFO] [stdout] --> src/player/ai.rs:168:49 [INFO] [stdout] | [INFO] [stdout] 168 | Action::Block(block_action, player, char) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `char` [INFO] [stdout] --> src/player/ai.rs:168:57 [INFO] [stdout] | [INFO] [stdout] 168 | Action::Block(block_action, player, char) => { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_char` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `players_lives`, `players_coins`, `revealed_characters`, and `cards_in_hand` are never read [INFO] [stdout] --> src/gameai.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct GameStateAI { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 10 | pub players_lives: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | pub players_coins: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | pub revealed_characters: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | pub cards_in_hand: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameStateAI` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/player/ai.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct AIPlayer { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 21 | index: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AIPlayer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/player/ai.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl AIPlayer { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 25 | pub fn new(name: String, index: usize) -> AIPlayer { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `all` is never used [INFO] [stdout] --> src/character.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Character { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 11 | pub fn all() -> Vec { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:219:25 [INFO] [stdout] | [INFO] [stdout] 219 | self.players[current_player].lose_coins(7); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 219 | let _ = self.players[current_player].lose_coins(7); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:221:25 [INFO] [stdout] | [INFO] [stdout] 221 | self.players[target].remove_card_from_hand(card); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 221 | let _ = self.players[target].remove_card_from_hand(card); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:228:25 [INFO] [stdout] | [INFO] [stdout] 228 | self.players[current_player].lose_coins(3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 228 | let _ = self.players[current_player].lose_coins(3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:230:25 [INFO] [stdout] | [INFO] [stdout] 230 | self.players[target].remove_card_from_hand(card); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 230 | let _ = self.players[target].remove_card_from_hand(card); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:240:25 [INFO] [stdout] | [INFO] [stdout] 240 | self.players[current_player].remove_card_from_hand(card1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 240 | let _ = self.players[current_player].remove_card_from_hand(card1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:241:25 [INFO] [stdout] | [INFO] [stdout] 241 | self.players[current_player].remove_card_from_hand(card2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 241 | let _ = self.players[current_player].remove_card_from_hand(card2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/game.rs:246:25 [INFO] [stdout] | [INFO] [stdout] 246 | self.players[target].lose_coins(amount); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 246 | let _ = self.players[target].lose_coins(amount); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] running `Command { std: "docker" "inspect" "bc8e4ec7314d3f4a43973f94ff18968d5aa6ecc592cda188fdd1e2a1e14bc404", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc8e4ec7314d3f4a43973f94ff18968d5aa6ecc592cda188fdd1e2a1e14bc404", kill_on_drop: false }` [INFO] [stdout] bc8e4ec7314d3f4a43973f94ff18968d5aa6ecc592cda188fdd1e2a1e14bc404