[INFO] cloning repository https://github.com/dennisding/cluster
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dennisding/cluster" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdennisding%2Fcluster", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdennisding%2Fcluster'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 00f4832fda1a37d21a8a37352ab5654b03374529
[INFO] checking dennisding/cluster against 0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0 for pr-158915-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdennisding%2Fcluster" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dennisding/cluster
[INFO] finished tweaking git repo https://github.com/dennisding/cluster
[INFO] tweaked toml for git repo https://github.com/dennisding/cluster written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dennisding/cluster on toolchain 0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dennisding/cluster 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" "+0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking dennisding/cluster against 0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0 for pr-158915-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdennisding%2Fcluster" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dennisding/cluster
[INFO] finished tweaking git repo https://github.com/dennisding/cluster
[INFO] tweaked toml for git repo https://github.com/dennisding/cluster written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dennisding/cluster on toolchain 0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dennisding/cluster 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" "+0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cfg-if v1.0.1
[INFO] [stderr]   Downloaded lock_api v0.4.13
[INFO] [stderr]   Downloaded redox_syscall v0.5.13
[INFO] [stderr]   Downloaded rustc-demangle v0.1.25
[INFO] [stderr]   Downloaded parking_lot v0.12.4
[INFO] [stderr]   Downloaded parking_lot_core v0.9.11
[INFO] [stderr]   Downloaded socket2 v0.5.10
[INFO] [stderr]   Downloaded mio v1.0.4
[INFO] [stderr]   Downloaded memchr v2.7.5
[INFO] [stderr]   Downloaded syn v2.0.103
[INFO] [stderr]   Downloaded libc v0.2.173
[INFO] [stderr]   Downloaded tokio v1.45.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf
[INFO] running `Command { std: "docker" "start" "fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf", 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" "fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf" "/opt/rustwide/cargo-home/bin/cargo" "+0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf", 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" "fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf" "/opt/rustwide/cargo-home/bin/cargo" "+0335fc7ee9e33d92e03d99f3e2fb0fe6119f3cc0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.173
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking cfg-if v1.0.1
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]    Compiling syn v2.0.103
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]     Checking cluster v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]  --> src/network/services.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::{TcpListener, TcpStream};
[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: `OwnedWriteHalf`
[INFO] [stdout]  --> src/network/services.rs:4:38
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/services.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]  --> src/network/services.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::{TcpListener, TcpStream};
[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 imports: `AsyncReadExt` and `AsyncWriteExt`
[INFO] [stdout]  --> src/game/game_services.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[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: `TcpStream`
[INFO] [stdout]  --> src/network/services.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OwnedWriteHalf`
[INFO] [stdout]  --> src/network/services.rs:4:38
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/services.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OwnedWriteHalf`
[INFO] [stdout]  --> src/network/services.rs:4:38
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/services.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]  --> src/network/services.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::{TcpListener, TcpStream};
[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: `OwnedWriteHalf`
[INFO] [stdout]  --> src/network/services.rs:4:38
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/services.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsyncReadExt` and `AsyncWriteExt`
[INFO] [stdout]  --> src/game/game_services.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[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: `TcpStream`
[INFO] [stdout]  --> src/network/services.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]   |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OwnedWriteHalf`
[INFO] [stdout]  --> src/network/services.rs:4:38
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/services.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TcpStream`
[INFO] [stdout]  --> src/network/services.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tokio::net::{TcpListener, TcpStream};
[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: `OwnedWriteHalf`
[INFO] [stdout]  --> src/network/services.rs:4:38
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::net::tcp::{OwnedReadHalf, OwnedWriteHalf};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]  --> src/network/services.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/game/game_services.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | /         loop {
[INFO] [stdout] 27 | |             let (mut stream, _) = listener.accept().await?;
[INFO] [stdout] 28 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 31 |           Ok(())
[INFO] [stdout]    |           ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/game/game_services.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | /         loop {
[INFO] [stdout] 27 | |             let (mut stream, _) = listener.accept().await?;
[INFO] [stdout] 28 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 31 |           Ok(())
[INFO] [stdout]    |           ^^^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/game_services.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let (mut stream, _) = listener.accept().await?;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/game/game_services.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let (mut stream, _) = listener.accept().await?;
[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: `port`
[INFO] [stdout]   --> src/network/services.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/network/services.rs:57:26
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let (reader, writer) = stream.into_split();
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `serve` is never used
[INFO] [stdout]   --> src/network/services.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Services {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[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 variable: `port`
[INFO] [stdout]   --> src/network/services.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/network/services.rs:57:26
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let (reader, writer) = stream.into_split();
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `serve` is never used
[INFO] [stdout]   --> src/network/services.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Services {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[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 variable: `receiver`
[INFO] [stdout]   --> src/gate/gate_imp.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let (sender, receiver) = mpsc::channel::<Message>(config.channel_size);
[INFO] [stdout]    |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/gate/client_services.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (reader, writer) = stream.into_split();
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/network/services.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/network/services.rs:57:26
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let (reader, writer) = stream.into_split();
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `receiver`
[INFO] [stdout]   --> src/gate/gate_imp.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let (sender, receiver) = mpsc::channel::<Message>(config.channel_size);
[INFO] [stdout]    |                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_receiver`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/gate/client_services.rs:30:22
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (reader, writer) = stream.into_split();
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/gate/message.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ClientHello(String),
[INFO] [stdout]   |     ----------- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     ClientHello(String),
[INFO] [stdout] 9 +     ClientHello(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ClientConnected` is never constructed
[INFO] [stdout]  --> src/gate/message.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Message {
[INFO] [stdout]   |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     ClientConnected,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client_services` is never read
[INFO] [stdout]   --> src/gate/gate_imp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Gate {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 10 |     client_services: ClientServices,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clients` is never read
[INFO] [stdout]   --> src/gate/client_services.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ClientServices {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 11 |     clients: HashMap<uuid::Uuid, String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Packet` is never constructed
[INFO] [stdout]  --> src/network/packet.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Packet {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_i32`, and `read_string` are never used
[INFO] [stdout]   --> src/network/packet.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Packet {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(data: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn read_i32(&mut self) -> Option<i32> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn read_string(&mut self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Protocols` is never used
[INFO] [stdout]  --> src/network/protocols.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Protocols {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]   --> src/network/services.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | enum Message {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Services` is never constructed
[INFO] [stdout]   --> src/network/services.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Services {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serve_forever`, `serve`, `serve_at`, and `handle_connection` are never used
[INFO] [stdout]   --> src/network/services.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Services {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(protocols: Box::<dyn Protocols>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn serve_forever(&mut self, port: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     async fn serve_at(sender: mpsc::Sender<Message>, port: i32) {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     async fn handle_connection(sender: mpsc::Sender<Message>, mut reader: OwnedReadHalf) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/utils/uuid.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Uuid(u64);
[INFO] [stdout]   |            ---- ^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_uuid` is never used
[INFO] [stdout]  --> src/utils/uuid.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn gen_uuid() -> Uuid {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]   --> src/game/game_services.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub async fn serve(sender: mpsc::Sender<Message>, port: i32) 
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/game/game_services.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let (mut stream, _) = listener.accept().await?;
[INFO] [stdout]    |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/network/services.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/network/services.rs:57:26
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let (reader, writer) = stream.into_split();
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/gate/message.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ClientHello(String),
[INFO] [stdout]   |     ----------- ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     ClientHello(String),
[INFO] [stdout] 9 +     ClientHello(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ClientConnected` is never constructed
[INFO] [stdout]  --> src/gate/message.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Message {
[INFO] [stdout]   |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     ClientConnected,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `client_services` is never read
[INFO] [stdout]   --> src/gate/gate_imp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Gate {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 10 |     client_services: ClientServices,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clients` is never read
[INFO] [stdout]   --> src/gate/client_services.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ClientServices {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 11 |     clients: HashMap<uuid::Uuid, String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Packet` is never constructed
[INFO] [stdout]  --> src/network/packet.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Packet {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_i32`, and `read_string` are never used
[INFO] [stdout]   --> src/network/packet.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Packet {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(data: Vec<u8>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn read_i32(&mut self) -> Option<i32> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn read_string(&mut self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Protocols` is never used
[INFO] [stdout]  --> src/network/protocols.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Protocols {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Message` is never used
[INFO] [stdout]   --> src/network/services.rs:11:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | enum Message {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Services` is never constructed
[INFO] [stdout]   --> src/network/services.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Services {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]   --> src/game/game_services.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub async fn serve(sender: mpsc::Sender<Message>, port: i32) 
[INFO] [stdout]    |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]   --> src/game/game_services.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |             let (mut stream, _) = listener.accept().await?;
[INFO] [stdout]    |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `serve_forever`, `serve`, `serve_at`, and `handle_connection` are never used
[INFO] [stdout]   --> src/network/services.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl Services {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(protocols: Box::<dyn Protocols>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn serve_forever(&mut self, port: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     async fn serve_at(sender: mpsc::Sender<Message>, port: i32) {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     async fn handle_connection(sender: mpsc::Sender<Message>, mut reader: OwnedReadHalf) {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/utils/uuid.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Uuid(u64);
[INFO] [stdout]   |            ---- ^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_uuid` is never used
[INFO] [stdout]  --> src/utils/uuid.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn gen_uuid() -> Uuid {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/network/services.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/network/services.rs:57:26
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let (reader, writer) = stream.into_split();
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `game_services` and `client_services` are never read
[INFO] [stdout]   --> src/game/game.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout]  9 |     game_services: GameServices,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 10 |     client_services : ClientServices,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `serve` is never used
[INFO] [stdout]   --> src/game/game_services.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl GameServices {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub async fn serve(sender: mpsc::Sender<Message>, port: i32) 
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/network/services.rs:45:35
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub async fn serve(&mut self, port: i32) {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `writer`
[INFO] [stdout]   --> src/network/services.rs:57:26
[INFO] [stdout]    |
[INFO] [stdout] 57 |             let (reader, writer) = stream.into_split();
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `game_services` and `client_services` are never read
[INFO] [stdout]   --> src/game/game.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout]  9 |     game_services: GameServices,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 10 |     client_services : ClientServices,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `serve` is never used
[INFO] [stdout]   --> src/game/game_services.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl GameServices {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub async fn serve(sender: mpsc::Sender<Message>, port: i32) 
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.67s
[INFO] running `Command { std: "docker" "inspect" "fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf", kill_on_drop: false }`
[INFO] [stdout] fd8f5587b27b90bdbd5eed01015def5ea83dce98fc0d73282caddfe5f34f68cf
