[INFO] cloning repository https://github.com/xfxpositions/mp-pong-server
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xfxpositions/mp-pong-server" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxfxpositions%2Fmp-pong-server", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxfxpositions%2Fmp-pong-server'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 86da4563b3d57548761dc2b6ab5625fd204a802a
[INFO] checking xfxpositions/mp-pong-server against try#84addd32a13fa2d3f62fe5d99031611147b7fb13 for pr-147565
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxfxpositions%2Fmp-pong-server" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/xfxpositions/mp-pong-server
[INFO] finished tweaking git repo https://github.com/xfxpositions/mp-pong-server
[INFO] tweaked toml for git repo https://github.com/xfxpositions/mp-pong-server written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xfxpositions/mp-pong-server on toolchain 84addd32a13fa2d3f62fe5d99031611147b7fb13
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xfxpositions/mp-pong-server 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" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "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 xfxpositions/mp-pong-server against try#84addd32a13fa2d3f62fe5d99031611147b7fb13 for pr-147565
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxfxpositions%2Fmp-pong-server" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/xfxpositions/mp-pong-server
[INFO] finished tweaking git repo https://github.com/xfxpositions/mp-pong-server
[INFO] tweaked toml for git repo https://github.com/xfxpositions/mp-pong-server written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xfxpositions/mp-pong-server on toolchain 84addd32a13fa2d3f62fe5d99031611147b7fb13
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xfxpositions/mp-pong-server 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" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "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 serde v1.0.175
[INFO] [stderr]   Downloaded serde_derive v1.0.175
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8bc98838ee804249ddad7348a5d6736115e59181e6e4afc5193522909a540b84
[INFO] running `Command { std: "docker" "start" "-a" "8bc98838ee804249ddad7348a5d6736115e59181e6e4afc5193522909a540b84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8bc98838ee804249ddad7348a5d6736115e59181e6e4afc5193522909a540b84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bc98838ee804249ddad7348a5d6736115e59181e6e4afc5193522909a540b84", kill_on_drop: false }`
[INFO] [stdout] 8bc98838ee804249ddad7348a5d6736115e59181e6e4afc5193522909a540b84
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+84addd32a13fa2d3f62fe5d99031611147b7fb13" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ab1fe3fd8caffa3d0473210a9e1876078b1f6c3809ae9ec7e9ef9e81b6106c3
[INFO] running `Command { std: "docker" "start" "-a" "1ab1fe3fd8caffa3d0473210a9e1876078b1f6c3809ae9ec7e9ef9e81b6106c3", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling serde v1.0.175
[INFO] [stderr]     Checking itoa v1.0.9
[INFO] [stderr]     Checking unicode-bidi v0.3.13
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]     Checking percent-encoding v2.3.0
[INFO] [stderr]    Compiling tokio v1.29.1
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking unicode-normalization v0.1.22
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]    Compiling serde_derive v1.0.175
[INFO] [stderr]    Compiling serde_json v1.0.103
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking sha1 v0.10.5
[INFO] [stderr]     Checking socket2 v0.4.9
[INFO] [stderr]     Checking http v0.2.9
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]     Checking form_urlencoded v1.2.0
[INFO] [stderr]     Checking ryu v1.0.15
[INFO] [stderr]     Checking data-encoding v2.4.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]     Checking nanorand v0.7.0
[INFO] [stderr]     Checking log v0.4.19
[INFO] [stderr]     Checking parking v2.1.0
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking fastrand v1.9.0
[INFO] [stderr]     Checking uuid v1.4.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking idna v0.4.0
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking url v2.4.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]    Compiling pin-project-internal v1.1.2
[INFO] [stderr]    Compiling tokio-macros v2.1.0
[INFO] [stderr]     Checking pin-project v1.1.2
[INFO] [stderr]     Checking flume v0.10.14
[INFO] [stderr]     Checking tungstenite v0.20.0
[INFO] [stderr]     Checking mp-snake-server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `std::os::windows`
[INFO] [stdout]  --> src/main.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::windows::process;
[INFO] [stdout]   |              ^^^^^^^ could not find `windows` in `os`
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/84addd32a13fa2d3f62fe5d99031611147b7fb13/library/std/src/os/mod.rs:56:5
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated here
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/84addd32a13fa2d3f62fe5d99031611147b7fb13/library/std/src/os/mod.rs:120:10
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::os::windows`
[INFO] [stdout]  --> src/main.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::os::windows::process;
[INFO] [stdout]   |              ^^^^^^^ could not find `windows` in `os`
[INFO] [stdout]   |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/84addd32a13fa2d3f62fe5d99031611147b7fb13/library/std/src/os/mod.rs:56:5
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated here
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]  --> /rustc/84addd32a13fa2d3f62fe5d99031611147b7fb13/library/std/src/os/mod.rs:120:10
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item is gated here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_lite::FutureExt`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use futures_lite::FutureExt;
[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: `mpsc`
[INFO] [stdout]   --> src/main.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::{mpsc, Mutex};
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:203:20
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if (client.addr == addr) {
[INFO] [stdout]     |                    ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -                 if (client.addr == addr) {
[INFO] [stdout] 203 +                 if client.addr == addr  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures_lite::FutureExt`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use futures_lite::FutureExt;
[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: `mpsc`
[INFO] [stdout]   --> src/main.rs:12:19
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::sync::{mpsc, Mutex};
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/main.rs:203:20
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 if (client.addr == addr) {
[INFO] [stdout]     |                    ^                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -                 if (client.addr == addr) {
[INFO] [stdout] 203 +                 if client.addr == addr  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tungstenite::WebSocket::<Stream>::write_message`: Use `send`
[INFO] [stdout]    --> src/main.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |         if let Err(e) = write.write_message(msg) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `tungstenite::WebSocket::<Stream>::write_message`: Use `send`
[INFO] [stdout]    --> src/main.rs:127:31
[INFO] [stdout]     |
[INFO] [stdout] 127 |         if let Err(e) = write.write_message(msg) {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut headers_sent = false;
[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: use of deprecated method `tungstenite::WebSocket::<Stream>::read_message`: Use `read`
[INFO] [stdout]    --> src/main.rs:190:30
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let msg = match read.read_message() {
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:188:107
[INFO] [stdout]     |
[INFO] [stdout] 188 | async fn handle_read(addr: SocketAddr, tx: Sender<Message>, mut read: WebSocket<PanicOnWrite<TcpStream>>, mut game: Arc<Mutex<Game>>) {
[INFO] [stdout]     |                                                                                                           ----^^^^
[INFO] [stdout]     |                                                                                                           |
[INFO] [stdout]     |                                                                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |             for mut client in lock.clients.iter_mut(){
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut headers_sent = false;
[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: use of deprecated method `tungstenite::WebSocket::<Stream>::read_message`: Use `read`
[INFO] [stdout]    --> src/main.rs:190:30
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let msg = match read.read_message() {
[INFO] [stdout]     |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:188:107
[INFO] [stdout]     |
[INFO] [stdout] 188 | async fn handle_read(addr: SocketAddr, tx: Sender<Message>, mut read: WebSocket<PanicOnWrite<TcpStream>>, mut game: Arc<Mutex<Game>>) {
[INFO] [stdout]     |                                                                                                           ----^^^^
[INFO] [stdout]     |                                                                                                           |
[INFO] [stdout]     |                                                                                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |             for mut client in lock.clients.iter_mut(){
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lock`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let lock = game.lock().await;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_lock`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]   --> src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     rx: Receiver<Message>,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `count` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut count = 0;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers_sent`
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut headers_sent = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers_sent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/main.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         count += 1;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/main.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let reader = tokio::spawn(
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/main.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let sender = tokio::spawn(handle_writing(write, addr, rx, game.clone()));
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut write_ws = WebSocket::from_raw_socket(write, Role::Server, None);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]    --> src/main.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let client_id = id.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lock`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let lock = game.lock().await;
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_lock`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]   --> src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     rx: Receiver<Message>,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `count` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |     let mut count = 0;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `headers_sent`
[INFO] [stdout]   --> src/main.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut headers_sent = false;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_headers_sent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/main.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         count += 1;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reader`
[INFO] [stdout]    --> src/main.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |     let reader = tokio::spawn(
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]    --> src/main.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let sender = tokio::spawn(handle_writing(write, addr, rx, game.clone()));
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mp-snake-server` (bin "mp-snake-server" test) due to 1 previous error; 17 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut write_ws = WebSocket::from_raw_socket(write, Role::Server, None);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `client_id`
[INFO] [stdout]    --> src/main.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let client_id = id.clone();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_client_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `mp-snake-server` (bin "mp-snake-server") due to 1 previous error; 17 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "1ab1fe3fd8caffa3d0473210a9e1876078b1f6c3809ae9ec7e9ef9e81b6106c3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ab1fe3fd8caffa3d0473210a9e1876078b1f6c3809ae9ec7e9ef9e81b6106c3", kill_on_drop: false }`
[INFO] [stdout] 1ab1fe3fd8caffa3d0473210a9e1876078b1f6c3809ae9ec7e9ef9e81b6106c3
