[INFO] cloning repository https://github.com/nr6000000/carcassonne-uct
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nr6000000/carcassonne-uct" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnr6000000%2Fcarcassonne-uct", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnr6000000%2Fcarcassonne-uct'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 293292984f41cb86fbfd2d898efc4a37be3985d9
[INFO] checking nr6000000/carcassonne-uct against 8006091eb71ae7d9e9bccb66c6122c9d68af4466 for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnr6000000%2Fcarcassonne-uct" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nr6000000/carcassonne-uct
[INFO] finished tweaking git repo https://github.com/nr6000000/carcassonne-uct
[INFO] tweaked toml for git repo https://github.com/nr6000000/carcassonne-uct written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nr6000000/carcassonne-uct on toolchain 8006091eb71ae7d9e9bccb66c6122c9d68af4466
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nr6000000/carcassonne-uct 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" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded heapless v0.7.17
[INFO] [stderr]   Downloaded atomic-polyfill v1.0.3
[INFO] [stderr]   Downloaded heapless v0.9.3
[INFO] [stderr]   Downloaded hash32 v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8
[INFO] running `Command { std: "docker" "start" "f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.122
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling wasm-bindgen v0.2.122
[INFO] [stderr]    Compiling rapidhash v4.4.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling heapless v0.9.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking toml v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.122
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerocopy-derive v0.8.50
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.122
[INFO] [stderr]     Checking tileset_format v0.1.0 (/opt/rustwide/workdir/tileset_format)
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking postcard v1.1.3
[INFO] [stderr]    Compiling carcossonne_uct v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking js-sys v0.3.99
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game_logic/game.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::game_logic::{RapidIndexSet, TilePixel, game};
[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::hash_map::Keys`
[INFO] [stdout]  --> src/game_logic/datastructures/multi_hashset.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/game_logic/datastructures/multi_hashset.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> src/engines/carcassonne_engine.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game_logic::{game::{Game, Move, PlayerId}};
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngExt`
[INFO] [stdout]  --> src/engines/random_engine.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{RngExt};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/engines/random_engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::Index`
[INFO] [stdout]  --> src/engines/random_engine.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::game_logic::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::structures::Structure`
[INFO] [stdout]  --> src/engines/random_engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game_logic::structures::Structure;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> src/engines/random_engine.rs:8:86
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{engines::carcassonne_engine::CarcassonneEngine, game_logic::game::{Move, PlayerId}};
[INFO] [stdout]   |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/engines/greedy_engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::Index`
[INFO] [stdout]  --> src/engines/greedy_engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::game_logic::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::tilepixel_ext::TilePixelExt`
[INFO] [stdout]   --> src/js_binds/wasm_game.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::game_logic::tilepixel_ext::TilePixelExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game_logic/game.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::game_logic::{RapidIndexSet, TilePixel, game};
[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::hash_map::Keys`
[INFO] [stdout]  --> src/game_logic/datastructures/multi_hashset.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/game_logic/datastructures/multi_hashset.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> src/engines/carcassonne_engine.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game_logic::{game::{Game, Move, PlayerId}};
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngExt`
[INFO] [stdout]  --> src/engines/random_engine.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{RngExt};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/engines/random_engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::Index`
[INFO] [stdout]  --> src/engines/random_engine.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::game_logic::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::structures::Structure`
[INFO] [stdout]  --> src/engines/random_engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game_logic::structures::Structure;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> src/engines/random_engine.rs:8:86
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{engines::carcassonne_engine::CarcassonneEngine, game_logic::game::{Move, PlayerId}};
[INFO] [stdout]   |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/engines/greedy_engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::Index`
[INFO] [stdout]  --> src/engines/greedy_engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::game_logic::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::tilepixel_ext::TilePixelExt`
[INFO] [stdout]   --> src/js_binds/wasm_game.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::game_logic::tilepixel_ext::TilePixelExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/game_logic/datastructures/map.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     .intersperse(&vec![T::default(); to_add])
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 + #![feature(iter_intersperse)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/game_logic/datastructures/map.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     .intersperse(&vec![T::default(); to_add])
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/lib.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 + #![feature(iter_intersperse)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structures`
[INFO] [stdout]    --> src/js_binds/wasm_game.rs:419:21
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let (moves, structures) = self.game.get_moves();
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structures`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert` is never used
[INFO] [stdout]   --> src/game_logic/datastructures/map.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<T: Default + Copy> Map<T> {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn insert(&mut self, row: isize, column: isize, el: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]   --> src/engines/random_engine.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct RandomEngine {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 11 |     rng: ThreadRng
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPIRICAL_MAX_SCORE` is never used
[INFO] [stdout]   --> src/engines/uct_engine.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const EMPIRICAL_MAX_SCORE: u32 = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tile_name_to_id` and `greedy_engine` are never read
[INFO] [stdout]    --> src/js_binds/wasm_game.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct WasmGame {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 130 |     game: Game,
[INFO] [stdout] 131 |     tile_name_to_id: HashMap<String, TileId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     greedy_engine: GreedyCompleterEngine,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `structures`
[INFO] [stdout]    --> src/js_binds/wasm_game.rs:419:21
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let (moves, structures) = self.game.get_moves();
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_structures`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert` is never used
[INFO] [stdout]   --> src/game_logic/datastructures/map.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<T: Default + Copy> Map<T> {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn insert(&mut self, row: isize, column: isize, el: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]   --> src/engines/random_engine.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct RandomEngine {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 11 |     rng: ThreadRng
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPIRICAL_MAX_SCORE` is never used
[INFO] [stdout]   --> src/engines/uct_engine.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const EMPIRICAL_MAX_SCORE: u32 = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tile_name_to_id` and `greedy_engine` are never read
[INFO] [stdout]    --> src/js_binds/wasm_game.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct WasmGame {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 130 |     game: Game,
[INFO] [stdout] 131 |     tile_name_to_id: HashMap<String, TileId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     greedy_engine: GreedyCompleterEngine,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> tests/common/mod.rs:1:62
[INFO] [stdout]   |
[INFO] [stdout] 1 | use carcossonne_uct::game_logic::{Index, game::{Game, Place, PlayerId}, tile::Tile};
[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: `PlayerId`
[INFO] [stdout]  --> tests/common/mod.rs:1:62
[INFO] [stdout]   |
[INFO] [stdout] 1 | use carcossonne_uct::game_logic::{Index, game::{Game, Place, PlayerId}, tile::Tile};
[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: `PlayerId`
[INFO] [stdout]  --> tests/common/mod.rs:1:62
[INFO] [stdout]   |
[INFO] [stdout] 1 | use carcossonne_uct::game_logic::{Index, game::{Game, Place, PlayerId}, tile::Tile};
[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: `PlayerId`
[INFO] [stdout]  --> tests/common/mod.rs:1:62
[INFO] [stdout]   |
[INFO] [stdout] 1 | use carcossonne_uct::game_logic::{Index, game::{Game, Place, PlayerId}, tile::Tile};
[INFO] [stdout]   |                                                              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovePixel` is never constructed
[INFO] [stdout]  --> tests/common/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MovePixel {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovePixel` is never constructed
[INFO] [stdout]  --> tests/common/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MovePixel {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game_logic/game.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::game_logic::{RapidIndexSet, TilePixel, game};
[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::hash_map::Keys`
[INFO] [stdout]  --> src/game_logic/datastructures/multi_hashset.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/game_logic/datastructures/multi_hashset.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> src/engines/carcassonne_engine.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game_logic::{game::{Game, Move, PlayerId}};
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngExt`
[INFO] [stdout]  --> src/engines/random_engine.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{RngExt};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/engines/random_engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::Index`
[INFO] [stdout]  --> src/engines/random_engine.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::game_logic::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::structures::Structure`
[INFO] [stdout]  --> src/engines/random_engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game_logic::structures::Structure;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> src/engines/random_engine.rs:8:86
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{engines::carcassonne_engine::CarcassonneEngine, game_logic::game::{Move, PlayerId}};
[INFO] [stdout]   |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/engines/greedy_engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::Index`
[INFO] [stdout]  --> src/engines/greedy_engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::game_logic::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> benches/game_logic_bench.rs:3:178
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...gine::RandomEngine}, game_logic::{game::{Game, GameSettings, PlayerId}, standard_tileset::STANDARD_TILESET}};
[INFO] [stdout]   |                                                                 ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovePixel` is never constructed
[INFO] [stdout]  --> tests/common/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MovePixel {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovePixel` is never constructed
[INFO] [stdout]  --> tests/common/mod.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MovePixel {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game`
[INFO] [stdout]   --> src/game_logic/game.rs:14:51
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::game_logic::{RapidIndexSet, TilePixel, game};
[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::hash_map::Keys`
[INFO] [stdout]  --> src/game_logic/datastructures/multi_hashset.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::hash_map::Keys;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/game_logic/datastructures/multi_hashset.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> src/engines/carcassonne_engine.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game_logic::{game::{Game, Move, PlayerId}};
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RngExt`
[INFO] [stdout]  --> src/engines/random_engine.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::{RngExt};
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/engines/random_engine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::Index`
[INFO] [stdout]  --> src/engines/random_engine.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::game_logic::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::structures::Structure`
[INFO] [stdout]  --> src/engines/random_engine.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game_logic::structures::Structure;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerId`
[INFO] [stdout]  --> src/engines/random_engine.rs:8:86
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{engines::carcassonne_engine::CarcassonneEngine, game_logic::game::{Move, PlayerId}};
[INFO] [stdout]   |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rapidhash::RapidHashMap`
[INFO] [stdout]  --> src/engines/greedy_engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rapidhash::RapidHashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game_logic::Index`
[INFO] [stdout]  --> src/engines/greedy_engine.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::game_logic::Index;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/game_logic/datastructures/map.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     .intersperse(&vec![T::default(); to_add])
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 + #![feature(iter_intersperse)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/game_logic/datastructures/map.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     .intersperse(&vec![T::default(); to_add])
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] help: add `#![feature(iter_intersperse)]` to the crate attributes to enable `std::iter::Iterator::intersperse`
[INFO] [stdout]   --> src/main.rs:1:1
[INFO] [stdout]    |
[INFO] [stdout]  1 + #![feature(iter_intersperse)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BadTile` is never constructed
[INFO] [stdout]    --> src/game_logic/game.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub enum TileError {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |     BadTile,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TileError` has a derived impl for the trait `Debug`, but this is 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: methods `get_move_num`, `get_place`, `get_follower`, `get_tile`, `get_rotation`, and `get_player` are never used
[INFO] [stdout]    --> src/game_logic/game.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl Move {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 143 |     pub fn get_move_num(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn get_place(&self) -> Place {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn get_follower(&self) -> Option<Index> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn get_tile(&self) -> TileId {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn get_rotation(&self) -> Rotation {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn get_player(&self) -> PlayerId {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_points_sum`, `get_followers`, `get_winners`, and `play_custom_move` are never used
[INFO] [stdout]    --> src/game_logic/game.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl Game {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn get_points_sum(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn get_followers(&self) -> RapidHashMap<PlayerId, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn get_winners(&self) -> Vec<PlayerId> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 596 |     pub fn play_custom_move(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert` is never used
[INFO] [stdout]   --> src/game_logic/datastructures/map.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<T: Default + Copy> Map<T> {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn insert(&mut self, row: isize, column: isize, el: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomEngine` is never constructed
[INFO] [stdout]   --> src/engines/random_engine.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct RandomEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engines/random_engine.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RandomEngine {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GreedyBuilderEngine` is never constructed
[INFO] [stdout]  --> src/engines/greedy_engine.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct GreedyBuilderEngine {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engines/greedy_engine.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl GreedyBuilderEngine {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points` is never used
[INFO] [stdout]   --> src/engines/greedy_engine.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn get_points(structure: &Structure, player: PlayerId, new_follower: bool) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GreedyCompleterEngine` is never constructed
[INFO] [stdout]   --> src/engines/greedy_engine.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct GreedyCompleterEngine {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engines/greedy_engine.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl GreedyCompleterEngine {
[INFO] [stdout]    | -------------------------- associated function in this implementation
[INFO] [stdout] 58 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MinimaxEngine` is never constructed
[INFO] [stdout]  --> src/engines/minimax_engine.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MinimaxEngine {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `minimax` are never used
[INFO] [stdout]   --> src/engines/minimax_engine.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl MinimaxEngine {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(depth: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn minimax(
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPIRICAL_MAX_SCORE` is never used
[INFO] [stdout]   --> src/engines/uct_engine.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const EMPIRICAL_MAX_SCORE: u32 = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BadTile` is never constructed
[INFO] [stdout]    --> src/game_logic/game.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | pub enum TileError {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |     BadTile,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TileError` has a derived impl for the trait `Debug`, but this is 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: methods `get_move_num`, `get_place`, `get_follower`, `get_tile`, `get_rotation`, and `get_player` are never used
[INFO] [stdout]    --> src/game_logic/game.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl Move {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 143 |     pub fn get_move_num(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn get_place(&self) -> Place {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn get_follower(&self) -> Option<Index> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn get_tile(&self) -> TileId {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn get_rotation(&self) -> Rotation {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn get_player(&self) -> PlayerId {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_points_sum`, `get_followers`, `get_winners`, and `play_custom_move` are never used
[INFO] [stdout]    --> src/game_logic/game.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl Game {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn get_points_sum(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn get_followers(&self) -> RapidHashMap<PlayerId, u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     pub fn get_winners(&self) -> Vec<PlayerId> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 596 |     pub fn play_custom_move(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert` is never used
[INFO] [stdout]   --> src/game_logic/datastructures/map.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<T: Default + Copy> Map<T> {
[INFO] [stdout]    | ------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn insert(&mut self, row: isize, column: isize, el: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomEngine` is never constructed
[INFO] [stdout]   --> src/engines/random_engine.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct RandomEngine {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engines/random_engine.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl RandomEngine {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 15 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GreedyBuilderEngine` is never constructed
[INFO] [stdout]  --> src/engines/greedy_engine.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct GreedyBuilderEngine {}
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engines/greedy_engine.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl GreedyBuilderEngine {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_points` is never used
[INFO] [stdout]   --> src/engines/greedy_engine.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn get_points(structure: &Structure, player: PlayerId, new_follower: bool) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GreedyCompleterEngine` is never constructed
[INFO] [stdout]   --> src/engines/greedy_engine.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct GreedyCompleterEngine {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/engines/greedy_engine.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl GreedyCompleterEngine {
[INFO] [stdout]    | -------------------------- associated function in this implementation
[INFO] [stdout] 58 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MinimaxEngine` is never constructed
[INFO] [stdout]  --> src/engines/minimax_engine.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MinimaxEngine {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `minimax` are never used
[INFO] [stdout]   --> src/engines/minimax_engine.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl MinimaxEngine {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(depth: u32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn minimax(
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPIRICAL_MAX_SCORE` is never used
[INFO] [stdout]   --> src/engines/uct_engine.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const EMPIRICAL_MAX_SCORE: u32 = 100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `js-sys`
[INFO] [stderr]   --> Cargo.toml:23:1
[INFO] [stderr]    |
[INFO] [stderr] 23 | js-sys = "0.3.99"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `js-sys`
[INFO] [stderr] warning: `carcossonne_uct` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8", kill_on_drop: false }`
[INFO] [stdout] f85a638d66a8302c5520bfad1c642d63de7ddf1276083730559eb9f2a748e9c8
