[INFO] cloning repository https://github.com/huytd/sergaem
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/huytd/sergaem" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuytd%2Fsergaem", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuytd%2Fsergaem'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1bfdd4aa0a66f96af4d65a2a09927b3cb0d9313e
[INFO] testing huytd/sergaem against nightly-2025-01-18+rustflags=-Zrandomize-layout for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuytd%2Fsergaem" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/huytd/sergaem on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/huytd/sergaem
[INFO] finished tweaking git repo https://github.com/huytd/sergaem
[INFO] tweaked toml for git repo https://github.com/huytd/sergaem written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/huytd/sergaem already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c1302ffaf1bf8b85b51628453b6319aa8ce27cb5f7fa745a46e1ecf1767eb68f
[INFO] running `Command { std: "docker" "start" "-a" "c1302ffaf1bf8b85b51628453b6319aa8ce27cb5f7fa745a46e1ecf1767eb68f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1302ffaf1bf8b85b51628453b6319aa8ce27cb5f7fa745a46e1ecf1767eb68f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1302ffaf1bf8b85b51628453b6319aa8ce27cb5f7fa745a46e1ecf1767eb68f", kill_on_drop: false }`
[INFO] [stdout] c1302ffaf1bf8b85b51628453b6319aa8ce27cb5f7fa745a46e1ecf1767eb68f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6c331f17c2af396db59006b0559a889a2b46e97557e95159d1a924704153834d
[INFO] running `Command { std: "docker" "start" "-a" "6c331f17c2af396db59006b0559a889a2b46e97557e95159d1a924704153834d", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.51
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling smallvec v0.6.9
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling arrayvec v0.4.10
[INFO] [stderr]    Compiling scopeguard v0.3.3
[INFO] [stderr]    Compiling rand_core v0.4.0
[INFO] [stderr]    Compiling nodrop v0.1.13
[INFO] [stderr]    Compiling lazy_static v1.3.0
[INFO] [stderr]    Compiling stable_deref_trait v1.1.1
[INFO] [stderr]    Compiling memoffset v0.2.1
[INFO] [stderr]    Compiling matches v0.1.8
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling crossbeam-utils v0.5.0
[INFO] [stderr]    Compiling slab v0.4.2
[INFO] [stderr]    Compiling httparse v1.3.3
[INFO] [stderr]    Compiling log v0.4.6
[INFO] [stderr]    Compiling unicode-bidi v0.3.4
[INFO] [stderr]    Compiling crossbeam-utils v0.6.5
[INFO] [stderr]    Compiling owning_ref v0.4.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.8
[INFO] [stderr]    Compiling lazycell v1.2.1
[INFO] [stderr]    Compiling percent-encoding v1.0.1
[INFO] [stderr]    Compiling sha1 v0.6.0
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling lock_api v0.1.5
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.5.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.6.1
[INFO] [stderr]    Compiling iovec v0.1.2
[INFO] [stderr]    Compiling rand v0.5.6
[INFO] [stderr]    Compiling net2 v0.2.33
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling bytes v0.4.12
[INFO] [stderr]    Compiling crossbeam-deque v0.5.2
[INFO] [stderr]    Compiling mio v0.6.16
[INFO] [stderr]    Compiling idna v0.1.5
[INFO] [stderr]    Compiling mio-extras v2.0.5
[INFO] [stderr]    Compiling url v1.7.2
[INFO] [stderr]    Compiling parking_lot v0.6.4
[INFO] [stderr]    Compiling crossbeam-channel v0.2.6
[INFO] [stderr]    Compiling ws v0.7.9
[INFO] [stderr]    Compiling crossbeam v0.4.1
[INFO] [stderr]    Compiling sergaem v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CloseCode`, `Handler`, `Handshake`, `Message`, and `Result`
[INFO] [stdout]  --> src/engine/network.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ws::{CloseCode, Sender, Handler, Handshake, Message, Result};
[INFO] [stdout]   |          ^^^^^^^^^          ^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ws::util::Token`
[INFO] [stdout]  --> src/engine/client_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ws::util::Token;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/game_manager.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |         for (_, mut game) in &mut self.games {
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/game.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let mut game_logic = GameLogic::new(self.clone());
[INFO] [stdout]    |                     ----^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clients` is never read
[INFO] [stdout]  --> src/engine/network.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct NetworkManager {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |     pub clients: Vec<Sender>,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_total_clients`, `add_client`, and `remove_client` are never used
[INFO] [stdout]   --> src/engine/network.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl NetworkManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_total_clients(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn add_client(&mut self, client: Sender) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn remove_client(&mut self, token: Token) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_player`, `get_games_list`, and `player_join_game` are never used
[INFO] [stdout]   --> src/engine/game_manager.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GameManager {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn remove_player(&mut self, player_token: Token) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn get_games_list(&self) -> Vec<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn player_join_game(&mut self, player: Sender, game_id: u64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `kick` and `join` are never used
[INFO] [stdout]   --> src/engine/game.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Game {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn kick(&mut self, player_token: Token) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn join(&mut self, player: Sender) -> bool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/engine/game.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |             player.send(Message::from(msg));
[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] 72 |             let _ = player.send(Message::from(msg));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.04s
[INFO] running `Command { std: "docker" "inspect" "6c331f17c2af396db59006b0559a889a2b46e97557e95159d1a924704153834d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c331f17c2af396db59006b0559a889a2b46e97557e95159d1a924704153834d", kill_on_drop: false }`
[INFO] [stdout] 6c331f17c2af396db59006b0559a889a2b46e97557e95159d1a924704153834d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae5f577eebfab476a2beebc1c1dda021b0631cbdc9448b73036cb5703ea25f15
[INFO] running `Command { std: "docker" "start" "-a" "ae5f577eebfab476a2beebc1c1dda021b0631cbdc9448b73036cb5703ea25f15", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling sergaem v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CloseCode`, `Handler`, `Handshake`, `Message`, and `Result`
[INFO] [stdout]  --> src/engine/network.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ws::{CloseCode, Sender, Handler, Handshake, Message, Result};
[INFO] [stdout]   |          ^^^^^^^^^          ^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ws::util::Token`
[INFO] [stdout]  --> src/engine/client_handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ws::util::Token;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/game_manager.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |         for (_, mut game) in &mut self.games {
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/game.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 let mut game_logic = GameLogic::new(self.clone());
[INFO] [stdout]    |                     ----^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clients` is never read
[INFO] [stdout]  --> src/engine/network.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct NetworkManager {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 8 |     pub clients: Vec<Sender>,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_total_clients`, `add_client`, and `remove_client` are never used
[INFO] [stdout]   --> src/engine/network.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl NetworkManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_total_clients(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn add_client(&mut self, client: Sender) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn remove_client(&mut self, token: Token) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_player`, `get_games_list`, and `player_join_game` are never used
[INFO] [stdout]   --> src/engine/game_manager.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GameManager {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn remove_player(&mut self, player_token: Token) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn get_games_list(&self) -> Vec<u64> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn player_join_game(&mut self, player: Sender, game_id: u64) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `kick` and `join` are never used
[INFO] [stdout]   --> src/engine/game.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Game {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn kick(&mut self, player_token: Token) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn join(&mut self, player: Sender) -> bool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/engine/game.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |             player.send(Message::from(msg));
[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] 72 |             let _ = player.send(Message::from(msg));
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] running `Command { std: "docker" "inspect" "ae5f577eebfab476a2beebc1c1dda021b0631cbdc9448b73036cb5703ea25f15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae5f577eebfab476a2beebc1c1dda021b0631cbdc9448b73036cb5703ea25f15", kill_on_drop: false }`
[INFO] [stdout] ae5f577eebfab476a2beebc1c1dda021b0631cbdc9448b73036cb5703ea25f15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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 -Zrandomize-layout" "-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a2ea0a2a6d435f825799a5942ffe395c0873e118b34cfc513b568b46755a6179
[INFO] running `Command { std: "docker" "start" "-a" "a2ea0a2a6d435f825799a5942ffe395c0873e118b34cfc513b568b46755a6179", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unused imports: `CloseCode`, `Handler`, `Handshake`, `Message`, and `Result`
[INFO] [stderr]  --> src/engine/network.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ws::{CloseCode, Sender, Handler, Handshake, Message, Result};
[INFO] [stderr]   |          ^^^^^^^^^          ^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ws::util::Token`
[INFO] [stderr]  --> src/engine/client_handler.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ws::util::Token;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread`
[INFO] [stderr]   --> src/main.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::thread;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/engine/game_manager.rs:42:17
[INFO] [stderr]    |
[INFO] [stderr] 42 |         for (_, mut game) in &mut self.games {
[INFO] [stderr]    |                 ----^^^^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/engine/game.rs:30:21
[INFO] [stderr]    |
[INFO] [stderr] 30 |                 let mut game_logic = GameLogic::new(self.clone());
[INFO] [stderr]    |                     ----^^^^^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `clients` is never read
[INFO] [stderr]  --> src/engine/network.rs:8:9
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct NetworkManager {
[INFO] [stderr]   |            -------------- field in this struct
[INFO] [stderr] 8 |     pub clients: Vec<Sender>,
[INFO] [stderr]   |         ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_total_clients`, `add_client`, and `remove_client` are never used
[INFO] [stderr]   --> src/engine/network.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl NetworkManager {
[INFO] [stderr]    | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn get_total_clients(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn add_client(&mut self, client: Sender) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn remove_client(&mut self, token: Token) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `remove_player`, `get_games_list`, and `player_join_game` are never used
[INFO] [stderr]   --> src/engine/game_manager.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl GameManager {
[INFO] [stderr]    | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub fn remove_player(&mut self, player_token: Token) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 |     pub fn get_games_list(&self) -> Vec<u64> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub fn player_join_game(&mut self, player: Sender, game_id: u64) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `kick` and `join` are never used
[INFO] [stderr]   --> src/engine/game.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl Game {
[INFO] [stderr]    | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn kick(&mut self, player_token: Token) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 61 |     pub fn join(&mut self, player: Sender) -> bool {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/engine/game.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 72 |             player.send(Message::from(msg));
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 72 |             let _ = player.send(Message::from(msg));
[INFO] [stderr]    |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `sergaem` (bin "sergaem" test) generated 10 warnings (run `cargo fix --bin "sergaem" --tests` to apply 5 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sergaem-daf0274628612336)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a2ea0a2a6d435f825799a5942ffe395c0873e118b34cfc513b568b46755a6179", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2ea0a2a6d435f825799a5942ffe395c0873e118b34cfc513b568b46755a6179", kill_on_drop: false }`
[INFO] [stdout] a2ea0a2a6d435f825799a5942ffe395c0873e118b34cfc513b568b46755a6179
