[INFO] cloning repository https://github.com/zakhenry/carcassonne
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zakhenry/carcassonne" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzakhenry%2Fcarcassonne", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzakhenry%2Fcarcassonne'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4e888b8ac2b0b92f4c5860cc7a6ad3ff329d8ca9
[INFO] checking zakhenry/carcassonne against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzakhenry%2Fcarcassonne" "/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/zakhenry/carcassonne
[INFO] finished tweaking git repo https://github.com/zakhenry/carcassonne
[INFO] tweaked toml for git repo https://github.com/zakhenry/carcassonne written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zakhenry/carcassonne on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zakhenry/carcassonne 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syn v2.0.95
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 427758323bb1265cdee87e777410933a7e7f724cf265a6db3c4f0f9a0df3f957
[INFO] running `Command { std: "docker" "start" "-a" "427758323bb1265cdee87e777410933a7e7f724cf265a6db3c4f0f9a0df3f957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "427758323bb1265cdee87e777410933a7e7f724cf265a6db3c4f0f9a0df3f957", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "427758323bb1265cdee87e777410933a7e7f724cf265a6db3c4f0f9a0df3f957", kill_on_drop: false }`
[INFO] [stdout] 427758323bb1265cdee87e777410933a7e7f724cf265a6db3c4f0f9a0df3f957
[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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f0b6d871cf4b73fa59690c9a70b1c2bbc9fd02e7af5972a15f6372159ff72287
[INFO] running `Command { std: "docker" "start" "-a" "f0b6d871cf4b73fa59690c9a70b1c2bbc9fd02e7af5972a15f6372159ff72287", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking indexmap v2.7.0
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling syn v2.0.95
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking uuid v1.11.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking carcassonne v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{Rng, RngCore, SeedableRng};
[INFO] [stdout]   |                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlayerIdentifier` and `RegionIndex`
[INFO] [stdout]  --> src/board.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::player::{Meeple, Player, PlayerIdentifier, RegionIndex};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TileDefinition` and `TilePlacement`
[INFO] [stdout]  --> src/board.rs:5:100
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::tile::{BoardCoordinate, CardinalDirection, PlacedTile, Region, RegionType, RenderStyle, TileDefinition, TilePlacement, TILE_WI...
[INFO] [stdout]   |                                                                                                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexSet`
[INFO] [stdout]  --> src/board.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use indexmap::{IndexMap, IndexSet};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerIdentifier`
[INFO] [stdout]  --> src/connected_regions.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::player::{Meeple, PlayerIdentifier, RegionIndex};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/connected_regions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]  --> src/deck.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/player.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeepleColor`
[INFO] [stdout]  --> src/tile.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::player::{Meeple, MeepleColor, RegionIndex};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/tile.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Meeple`
[INFO] [stdout]  --> src/score.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::player::{Meeple, Player, PlayerIdentifier};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeepleColor`
[INFO] [stdout]  --> src/move_hints.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::player::{Meeple, MeepleColor, Player, RegionIndex};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `indexmap::IndexSet`
[INFO] [stdout]  --> src/move_hints.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use indexmap::IndexSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/move_hints.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{Add, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/bot_strategy.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/bot_strategy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlacedTile`
[INFO] [stdout]  --> src/bot_strategy.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tile::{PlacedTile, TileDefinition};
[INFO] [stdout]   |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngCore`
[INFO] [stdout]  --> src/main.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::{Rng, RngCore, SeedableRng};
[INFO] [stdout]   |                 ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerIdentifier`
[INFO] [stdout]  --> src/board.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::player::{Meeple, Player, PlayerIdentifier, RegionIndex};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TileDefinition`
[INFO] [stdout]  --> src/board.rs:5:100
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::tile::{BoardCoordinate, CardinalDirection, PlacedTile, Region, RegionType, RenderStyle, TileDefinition, TilePlacement, TILE_WI...
[INFO] [stdout]   |                                                                                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IndexSet`
[INFO] [stdout]  --> src/board.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use indexmap::{IndexMap, IndexSet};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerIdentifier`
[INFO] [stdout]  --> src/connected_regions.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::player::{Meeple, PlayerIdentifier, RegionIndex};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/connected_regions.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]    --> src/connected_regions.rs:156:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     use uuid::Uuid;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/deck.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::{Rng, SeedableRng};
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]  --> src/player.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use uuid::Uuid;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeepleColor`
[INFO] [stdout]  --> src/tile.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::player::{Meeple, MeepleColor, RegionIndex};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/tile.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Meeple`
[INFO] [stdout]  --> src/score.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::player::{Meeple, Player, PlayerIdentifier};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeepleColor`
[INFO] [stdout]  --> src/move_hints.rs:2:29
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::player::{Meeple, MeepleColor, Player, RegionIndex};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `indexmap::IndexSet`
[INFO] [stdout]  --> src/move_hints.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use indexmap::IndexSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Add`
[INFO] [stdout]  --> src/move_hints.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::ops::{Add, Sub};
[INFO] [stdout]   |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `STRAIGHT_CITY_WITH_SIDE_FIELDS`
[INFO] [stdout]    --> src/move_hints.rs:113:152
[INFO] [stdout]     |
[INFO] [stdout] 113 | ...CORNER_ROAD, CORNER_ROAD_WITH_SIDE_CITY, SIDE_CITY, STRAIGHT_CITY_WITH_SIDE_FIELDS, STRAIGHT_ROAD};
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/bot_strategy.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/bot_strategy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlacedTile`
[INFO] [stdout]  --> src/bot_strategy.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tile::{PlacedTile, TileDefinition};
[INFO] [stdout]   |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> src/board.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/board.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 for (_, mut region ) in &mut self.connected_regions {
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meeple`
[INFO] [stdout]    --> src/tile.rs:389:62
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn render_ansi(&self, row_idx: usize, column_idx: usize, meeple: Option<&Meeple>) -> String {
[INFO] [stdout]     |                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_meeple`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]   --> src/bot_strategy.rs:60:46
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]    |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]   --> src/bot_strategy.rs:80:46
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]    |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]    --> src/bot_strategy.rs:131:31
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/bot_strategy.rs:131:46
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile`
[INFO] [stdout]    --> src/bot_strategy.rs:131:63
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]     |                                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_tile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/bot_strategy.rs:174:46
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fill_the_grid_bot`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let fill_the_grid_bot = BotStrategy::FillTheGrid(FillTheGridBot::new(StdRng::from_rng(rng.borrow_mut().deref_mut()).unwrap()));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fill_the_grid_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `myopic_bot`
[INFO] [stdout]   --> src/main.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let myopic_bot = BotStrategy::Myopic(MyopicBot);
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_myopic_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `carol`
[INFO] [stdout]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let carol = Player::blue().with_name("Carol").with_bot(rando_bot);
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_carol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dave`
[INFO] [stdout]   --> src/main.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let dave = Player::yellow().with_name("Dave").with_bot(jerk_bot);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_dave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `region` and `score` are never read
[INFO] [stdout]   --> src/board.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct RegionScore {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 14 |     region: RegionType,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     score: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegionScore` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `score_record` and `current_score` are never read
[INFO] [stdout]   --> src/board.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Board {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     score_record: Vec<HashMap<Player, u32>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 24 |     current_score: HashMap<Player, Vec<RegionScore>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Board` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_tiles`, `placed_tile_count`, and `render` are never used
[INFO] [stdout]    --> src/board.rs:67:19
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl Board {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub(crate) fn new_with_tiles<T: IntoIterator<Item=PlacedTile>>(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn placed_tile_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub(crate) fn render(&self, style: &RenderStyle) -> String {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `edgeless` is never used
[INFO] [stdout]   --> src/connected_regions.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl PlacedTileRegion {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub(crate) fn edgeless(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EmptyCollection` is never constructed
[INFO] [stdout]   --> src/connected_regions.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub(crate) enum ConnectedRegionMergeFailure {
[INFO] [stdout]    |                 --------------------------- variant in this enum
[INFO] [stdout] 64 |     RegionTypeMismatch,
[INFO] [stdout] 65 |     EmptyCollection,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConnectedRegionMergeFailure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ConnectedRegionCollection` is never used
[INFO] [stdout]    --> src/connected_regions.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | trait ConnectedRegionCollection {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]   --> src/deck.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct RiverTileSequence {
[INFO] [stdout]    |        ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |     rng: Rc<RefCell<StdRng>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `black` is never used
[INFO] [stdout]   --> src/player.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Player {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub(crate) fn black() -> Self {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TILE_WIDTH` is never used
[INFO] [stdout]   --> src/tile.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const TILE_WIDTH: usize = 7;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `rotate_around_center` are never used
[INFO] [stdout]   --> src/tile.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl TileCoordinate {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 21 |     pub(crate) fn new(x: usize, y: usize) -> Self {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub(crate) fn rotate_around_center(&self, rotations: u8) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `primary_direction` is never used
[INFO] [stdout]    --> src/tile.rs:194:19
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl CardinalDirection {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub(crate) fn primary_direction(&self) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `meeple_coordinate_rotated` is never used
[INFO] [stdout]    --> src/tile.rs:277:19
[INFO] [stdout]     |
[INFO] [stdout] 266 | impl Region {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub(crate) fn meeple_coordinate_rotated(&self, rotations: u8) -> Option<TileCoordinate> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ascii_code`, `render_ascii`, `render_ansi`, and `render_true_color` are never used
[INFO] [stdout]    --> src/tile.rs:356:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | impl RenderCell {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 356 |     fn ascii_code(&self) -> &'static str {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     fn render_ascii(&self, row_idx: usize, column_idx: usize, meeple: Option<&Meeple>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     fn render_ansi(&self, row_idx: usize, column_idx: usize, meeple: Option<&Meeple>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     fn render_true_color(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Ansi` and `Ascii` are never constructed
[INFO] [stdout]    --> src/tile.rs:538:5
[INFO] [stdout]     |
[INFO] [stdout] 537 | pub enum RenderStyle {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 538 |     Ansi,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 539 |     TrueColor,
[INFO] [stdout] 540 |     Ascii,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_with_meeple`, and `render_to_lines` are never used
[INFO] [stdout]    --> src/tile.rs:552:19
[INFO] [stdout]     |
[INFO] [stdout] 551 | impl PlacedTile {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 552 |     pub(crate) fn new(tile: &'static TileDefinition, x: i8, y: i8, rotations: u8) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub(crate) fn new_with_meeple(tile: &'static TileDefinition, x: i8, y: i8, rotations: u8, meeple_placement: (RegionIndex, Meeple)) ->...
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 707 |     pub fn render_to_lines(&self, render_style: &RenderStyle) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rotated` is never used
[INFO] [stdout]    --> src/tile.rs:764:19
[INFO] [stdout]     |
[INFO] [stdout] 763 | impl TileRenderRepresentation {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 764 |     pub(crate) fn rotated(
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_iter` is never used
[INFO] [stdout]   --> src/score.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Score {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub(crate) fn from_iter<'a, I: IntoIterator<Item=(&'a Player, i32)>>(player_score: I) -> Self {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ScoreRanking` is never constructed
[INFO] [stdout]   --> src/bot_strategy.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum BotStrategy {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     ScoreRanking(ScoreRankingBot),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BotStrategy` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rayon::prelude`
[INFO] [stdout]  --> src/board.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rayon::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/board.rs:122:25
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 for (_, mut region ) in &mut self.connected_regions {
[INFO] [stdout]     |                         ----^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meeple`
[INFO] [stdout]    --> src/tile.rs:389:62
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn render_ansi(&self, row_idx: usize, column_idx: usize, meeple: Option<&Meeple>) -> String {
[INFO] [stdout]     |                                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_meeple`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/score.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let mut carol = Player::blue();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/score.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |         let mut bob = Player::green();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]   --> src/bot_strategy.rs:60:46
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]    |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]   --> src/bot_strategy.rs:80:46
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]    |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]    --> src/bot_strategy.rs:131:31
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/bot_strategy.rs:131:46
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile`
[INFO] [stdout]    --> src/bot_strategy.rs:131:63
[INFO] [stdout]     |
[INFO] [stdout] 131 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]     |                                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_tile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/bot_strategy.rs:174:46
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn select_hint(&mut self, board: &Board, player: &Player, tile: &'static TileDefinition) -> Option<MoveHint> {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fill_the_grid_bot`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let fill_the_grid_bot = BotStrategy::FillTheGrid(FillTheGridBot::new(StdRng::from_rng(rng.borrow_mut().deref_mut()).unwrap()));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fill_the_grid_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `myopic_bot`
[INFO] [stdout]   --> src/main.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let myopic_bot = BotStrategy::Myopic(MyopicBot);
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_myopic_bot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `carol`
[INFO] [stdout]   --> src/main.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let carol = Player::blue().with_name("Carol").with_bot(rando_bot);
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_carol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dave`
[INFO] [stdout]   --> src/main.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let dave = Player::yellow().with_name("Dave").with_bot(jerk_bot);
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_dave`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `region` and `score` are never read
[INFO] [stdout]   --> src/board.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct RegionScore {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 14 |     region: RegionType,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     score: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RegionScore` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `score_record` and `current_score` are never read
[INFO] [stdout]   --> src/board.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Board {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     score_record: Vec<HashMap<Player, u32>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 24 |     current_score: HashMap<Player, Vec<RegionScore>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Board` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `placed_tile_count` is never used
[INFO] [stdout]   --> src/board.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn placed_tile_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `edgeless` is never used
[INFO] [stdout]   --> src/connected_regions.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl PlacedTileRegion {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub(crate) fn edgeless(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]   --> src/deck.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct RiverTileSequence {
[INFO] [stdout]    |        ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |     rng: Rc<RefCell<StdRng>>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `black` is never used
[INFO] [stdout]   --> src/player.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Player {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub(crate) fn black() -> Self {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `primary_direction` is never used
[INFO] [stdout]    --> src/tile.rs:194:19
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl CardinalDirection {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub(crate) fn primary_direction(&self) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ansi` is never constructed
[INFO] [stdout]    --> src/tile.rs:538:5
[INFO] [stdout]     |
[INFO] [stdout] 537 | pub enum RenderStyle {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] 538 |     Ansi,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ScoreRanking` is never constructed
[INFO] [stdout]   --> src/bot_strategy.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum BotStrategy {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     ScoreRanking(ScoreRankingBot),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BotStrategy` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.99s
[INFO] running `Command { std: "docker" "inspect" "f0b6d871cf4b73fa59690c9a70b1c2bbc9fd02e7af5972a15f6372159ff72287", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0b6d871cf4b73fa59690c9a70b1c2bbc9fd02e7af5972a15f6372159ff72287", kill_on_drop: false }`
[INFO] [stdout] f0b6d871cf4b73fa59690c9a70b1c2bbc9fd02e7af5972a15f6372159ff72287
