[INFO] cloning repository https://github.com/CoriumCake/Sshnake
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CoriumCake/Sshnake" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCoriumCake%2FSshnake", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCoriumCake%2FSshnake'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bd181902f23b692f1fc91d70603c265610543680
[INFO] checking CoriumCake/Sshnake against try#0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef for pr-147859
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCoriumCake%2FSshnake" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CoriumCake/Sshnake
[INFO] finished tweaking git repo https://github.com/CoriumCake/Sshnake
[INFO] tweaked toml for git repo https://github.com/CoriumCake/Sshnake written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CoriumCake/Sshnake on toolchain 0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CoriumCake/Sshnake 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" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 14821a7343657f7372e6f5d4aa4f48e8d633e5588bf34b65556165e335fd45e7
[INFO] running `Command { std: "docker" "start" "-a" "14821a7343657f7372e6f5d4aa4f48e8d633e5588bf34b65556165e335fd45e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "14821a7343657f7372e6f5d4aa4f48e8d633e5588bf34b65556165e335fd45e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14821a7343657f7372e6f5d4aa4f48e8d633e5588bf34b65556165e335fd45e7", kill_on_drop: false }`
[INFO] [stdout] 14821a7343657f7372e6f5d4aa4f48e8d633e5588bf34b65556165e335fd45e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b411520d4ab95cd97dcccb14a3fb1a7fe521215208e70627928ba7999dfa3bf7
[INFO] running `Command { std: "docker" "start" "-a" "b411520d4ab95cd97dcccb14a3fb1a7fe521215208e70627928ba7999dfa3bf7", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.181
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking deranged v0.5.5
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking num-conv v0.2.0
[INFO] [stderr]     Checking line-clipping v0.3.5
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking compact_str v0.9.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking lru v0.16.3
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking kasuari v0.4.11
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking ratatui-widgets v0.3.0
[INFO] [stderr]     Checking ratatui-crossterm v0.1.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking ratatui-macros v0.7.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ratatui v0.30.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking snake-tui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected one of `(`, `)`, `,`, `.`, `?`, or an operator, found `::`
[INFO] [stdout]    --> src/main.rs:871:45
[INFO] [stdout]     |
[INFO] [stdout] 871 |         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout]     |                                             -^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             expected one of `(`, `)`, `,`, `.`, `?`, or an operator
[INFO] [stdout]     |                                             help: missing `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected one of `(`, `)`, `,`, `.`, `?`, or an operator, found `::`
[INFO] [stdout]    --> src/main.rs:871:45
[INFO] [stdout]     |
[INFO] [stdout] 871 |         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout]     |                                             -^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             expected one of `(`, `)`, `,`, `.`, `?`, or an operator
[INFO] [stdout]     |                                             help: missing `,`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `ratatui::layout`
[INFO] [stdout]    --> src/main.rs:871:20
[INFO] [stdout]     |
[INFO] [stdout] 871 |         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use the path separator to refer to an item
[INFO] [stdout]     |
[INFO] [stdout] 871 -         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout] 871 +         .direction(ratatui::layout::Direction::Horizontal)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find crate `Horizontal` in the list of imported crates
[INFO] [stdout]    --> src/main.rs:871:47
[INFO] [stdout]     |
[INFO] [stdout] 871 |         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout]     |                                               ^^^^^^^^^^ not found in the list of imported crates
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this unit variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ratatui::layout::Direction::Horizontal;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Horizontal`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 871 -         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout] 871 +         .direction(ratatui::layout.DirectionHorizontal)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stdout`
[INFO] [stdout]  --> src/main.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 |     io::{self, stdout},
[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: `EnterAlternateScreen`, `ExecutableCommand`, `LeaveAlternateScreen`, `disable_raw_mode`, and `enable_raw_mode`
[INFO] [stdout]   --> src/main.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |         disable_raw_mode, enable_raw_mode, EnterAlternateScreen,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         LeaveAlternateScreen,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     },
[INFO] [stdout] 12 |     ExecutableCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/main.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `snake_tui`
[INFO] [stdout]    --> src/main.rs:878:2
[INFO] [stdout]     |
[INFO] [stdout] 878 | }
[INFO] [stdout]     |  ^ consider adding a `main` function to `src/main.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `ratatui::layout`
[INFO] [stdout]    --> src/main.rs:871:20
[INFO] [stdout]     |
[INFO] [stdout] 871 |         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: use the path separator to refer to an item
[INFO] [stdout]     |
[INFO] [stdout] 871 -         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout] 871 +         .direction(ratatui::layout::Direction::Horizontal)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find crate `Horizontal` in the list of imported crates
[INFO] [stdout]    --> src/main.rs:871:47
[INFO] [stdout]     |
[INFO] [stdout] 871 |         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout]     |                                               ^^^^^^^^^^ not found in the list of imported crates
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this unit variant
[INFO] [stdout]     |
[INFO] [stdout]   1 + use ratatui::layout::Direction::Horizontal;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `Horizontal`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 871 -         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout] 871 +         .direction(ratatui::layout.DirectionHorizontal)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `stdout`
[INFO] [stdout]  --> src/main.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 |     io::{self, stdout},
[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: `EnterAlternateScreen`, `ExecutableCommand`, `LeaveAlternateScreen`, `disable_raw_mode`, and `enable_raw_mode`
[INFO] [stdout]   --> src/main.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |         disable_raw_mode, enable_raw_mode, EnterAlternateScreen,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         LeaveAlternateScreen,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     },
[INFO] [stdout] 12 |     ExecutableCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncWriteExt`
[INFO] [stdout]   --> src/main.rs:25:24
[INFO] [stdout]    |
[INFO] [stdout] 25 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]    |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:400:29
[INFO] [stdout]     |
[INFO] [stdout] 400 | ...                   recv_bincode_message::<ClientMessage>(stream),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `send_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:444:25
[INFO] [stdout]     |
[INFO] [stdout] 444 |                         send_bincode_message(stream, &ServerMessage::GameState(game.clone())).await?;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | ...                   recv_bincode_message::<ServerMessage>(stream),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:400:29
[INFO] [stdout]     |
[INFO] [stdout] 400 | ...                   recv_bincode_message::<ClientMessage>(stream),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `send_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:444:25
[INFO] [stdout]     |
[INFO] [stdout] 444 |                         send_bincode_message(stream, &ServerMessage::GameState(game.clone())).await?;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 | ...                   recv_bincode_message::<ServerMessage>(stream),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]    --> src/main.rs:489:52
[INFO] [stdout]     |
[INFO] [stdout] 487 |                   let connect_future = match game_mode {
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout] 488 | |                     GameMode::MultiplayerHost => self.start_multiplayer_host(terminal_size_for_async_call),
[INFO] [stdout]     | |                                                  --------------------------------------------------------- this is found to be of type `impl Future<Output = Result<(), futures_io::Error>>`
[INFO] [stdout] 489 | |                     GameMode::MultiplayerClient => self.start_multiplayer_client(terminal_size_for_async_call),
[INFO] [stdout]     | |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected future, found a different future
[INFO] [stdout] 490 | |                     _ => unreachable!(), // Should not happen
[INFO] [stdout] 491 | |                 };
[INFO] [stdout]     | |_________________- `match` arms have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: distinct uses of `impl Trait` result in different opaque types
[INFO] [stdout] help: consider `await`ing on both `Future`s
[INFO] [stdout]     |
[INFO] [stdout] 488 ~                     GameMode::MultiplayerHost => self.start_multiplayer_host(terminal_size_for_async_call).await,
[INFO] [stdout] 489 ~                     GameMode::MultiplayerClient => self.start_multiplayer_client(terminal_size_for_async_call).await,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `match` arms have incompatible types
[INFO] [stdout]    --> src/main.rs:489:52
[INFO] [stdout]     |
[INFO] [stdout] 487 |                   let connect_future = match game_mode {
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout] 488 | |                     GameMode::MultiplayerHost => self.start_multiplayer_host(terminal_size_for_async_call),
[INFO] [stdout]     | |                                                  --------------------------------------------------------- this is found to be of type `impl Future<Output = Result<(), futures_io::Error>>`
[INFO] [stdout] 489 | |                     GameMode::MultiplayerClient => self.start_multiplayer_client(terminal_size_for_async_call),
[INFO] [stdout]     | |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected future, found a different future
[INFO] [stdout] 490 | |                     _ => unreachable!(), // Should not happen
[INFO] [stdout] 491 | |                 };
[INFO] [stdout]     | |_________________- `match` arms have incompatible types
[INFO] [stdout]     |
[INFO] [stdout]     = note: distinct uses of `impl Trait` result in different opaque types
[INFO] [stdout] help: consider `await`ing on both `Future`s
[INFO] [stdout]     |
[INFO] [stdout] 488 ~                     GameMode::MultiplayerHost => self.start_multiplayer_host(terminal_size_for_async_call).await,
[INFO] [stdout] 489 ~                     GameMode::MultiplayerClient => self.start_multiplayer_client(terminal_size_for_async_call).await,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:598:47
[INFO] [stdout]     |
[INFO] [stdout] 598 |                 self.on_event(event::read()?, current_terminal_size);
[INFO] [stdout]     |                      --------                 ^^^^^^^^^^^^^^^^^^^^^ expected `Rect`, found `Size`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:505:8
[INFO] [stdout]     |
[INFO] [stdout] 505 |     fn on_event(&mut self, event: Event, terminal_size: Rect) {
[INFO] [stdout]     |        ^^^^^^^^                          -------------------
[INFO] [stdout] help: call `Into::into` on this expression to convert `Size` into `Rect`
[INFO] [stdout]     |
[INFO] [stdout] 598 |                 self.on_event(event::read()?, current_terminal_size.into());
[INFO] [stdout]     |                                                                    +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:598:47
[INFO] [stdout]     |
[INFO] [stdout] 598 |                 self.on_event(event::read()?, current_terminal_size);
[INFO] [stdout]     |                      --------                 ^^^^^^^^^^^^^^^^^^^^^ expected `Rect`, found `Size`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:505:8
[INFO] [stdout]     |
[INFO] [stdout] 505 |     fn on_event(&mut self, event: Event, terminal_size: Rect) {
[INFO] [stdout]     |        ^^^^^^^^                          -------------------
[INFO] [stdout] help: call `Into::into` on this expression to convert `Size` into `Rect`
[INFO] [stdout]     |
[INFO] [stdout] 598 |                 self.on_event(event::read()?, current_terminal_size.into());
[INFO] [stdout]     |                                                                    +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:602:30
[INFO] [stdout]     |
[INFO] [stdout] 602 |                 self.on_tick(current_terminal_size).await?;
[INFO] [stdout]     |                      ------- ^^^^^^^^^^^^^^^^^^^^^ expected `Rect`, found `Size`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:384:14
[INFO] [stdout]     |
[INFO] [stdout] 384 |     async fn on_tick(&mut self, terminal_size: Rect) -> io::Result<()> {
[INFO] [stdout]     |              ^^^^^^^            -------------------
[INFO] [stdout] help: call `Into::into` on this expression to convert `Size` into `Rect`
[INFO] [stdout]     |
[INFO] [stdout] 602 |                 self.on_tick(current_terminal_size.into()).await?;
[INFO] [stdout]     |                                                   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/main.rs:602:30
[INFO] [stdout]     |
[INFO] [stdout] 602 |                 self.on_tick(current_terminal_size).await?;
[INFO] [stdout]     |                      ------- ^^^^^^^^^^^^^^^^^^^^^ expected `Rect`, found `Size`
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/main.rs:384:14
[INFO] [stdout]     |
[INFO] [stdout] 384 |     async fn on_tick(&mut self, terminal_size: Rect) -> io::Result<()> {
[INFO] [stdout]     |              ^^^^^^^            -------------------
[INFO] [stdout] help: call `Into::into` on this expression to convert `Size` into `Rect`
[INFO] [stdout]     |
[INFO] [stdout] 602 |                 self.on_tick(current_terminal_size.into()).await?;
[INFO] [stdout]     |                                                   +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected unit struct, unit variant or constant, found struct variant `AppState::MultiplayerConnecting`
[INFO] [stdout]    --> src/main.rs:614:21
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     AppState::MultiplayerConnecting => {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a unit struct, unit variant or constant
[INFO] [stdout]     |
[INFO] [stdout] help: the struct variant's field is being ignored
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     AppState::MultiplayerConnecting { game_mode: _ } => {
[INFO] [stdout]     |                                                     ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use `area()` instead
[INFO] [stdout]    --> src/main.rs:619:42
[INFO] [stdout]     |
[INFO] [stdout] 619 |                         let area = frame.size();
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected unit struct, unit variant or constant, found struct variant `AppState::MultiplayerConnecting`
[INFO] [stdout]    --> src/main.rs:614:21
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     AppState::MultiplayerConnecting => {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a unit struct, unit variant or constant
[INFO] [stdout]     |
[INFO] [stdout] help: the struct variant's field is being ignored
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     AppState::MultiplayerConnecting { game_mode: _ } => {
[INFO] [stdout]     |                                                     ++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use `area()` instead
[INFO] [stdout]    --> src/main.rs:619:42
[INFO] [stdout]     |
[INFO] [stdout] 619 |                         let area = frame.size();
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected value, found struct variant `AppState::MultiplayerConnecting`
[INFO] [stdout]    --> src/main.rs:701:22
[INFO] [stdout]     |
[INFO] [stdout] 701 |         self.state = AppState::MultiplayerConnecting; // Show connecting state
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a value
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to create a new value of the struct
[INFO] [stdout]     |
[INFO] [stdout] 701 |         self.state = AppState::MultiplayerConnecting { game_mode: /* value */ }; // Show connecting state
[INFO] [stdout]     |                                                      ++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `send_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:707:9
[INFO] [stdout]     |
[INFO] [stdout] 707 |         send_bincode_message(&mut stream, &ServerMessage::PlayerId(2)).await?; // Client is Player 2
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected value, found struct variant `AppState::MultiplayerConnecting`
[INFO] [stdout]    --> src/main.rs:701:22
[INFO] [stdout]     |
[INFO] [stdout] 701 |         self.state = AppState::MultiplayerConnecting; // Show connecting state
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a value
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to create a new value of the struct
[INFO] [stdout]     |
[INFO] [stdout] 701 |         self.state = AppState::MultiplayerConnecting { game_mode: /* value */ }; // Show connecting state
[INFO] [stdout]     |                                                      ++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `send_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:707:9
[INFO] [stdout]     |
[INFO] [stdout] 707 |         send_bincode_message(&mut stream, &ServerMessage::PlayerId(2)).await?; // Client is Player 2
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected value, found struct variant `AppState::MultiplayerConnecting`
[INFO] [stdout]    --> src/main.rs:721:22
[INFO] [stdout]     |
[INFO] [stdout] 721 |         self.state = AppState::MultiplayerConnecting; // Show connecting state
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a value
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to create a new value of the struct
[INFO] [stdout]     |
[INFO] [stdout] 721 |         self.state = AppState::MultiplayerConnecting { game_mode: /* value */ }; // Show connecting state
[INFO] [stdout]     |                                                      ++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:726:44
[INFO] [stdout]     |
[INFO] [stdout] 726 |         let player_id_msg: ServerMessage = recv_bincode_message(&mut stream).await?;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0533]: expected value, found struct variant `AppState::MultiplayerConnecting`
[INFO] [stdout]    --> src/main.rs:721:22
[INFO] [stdout]     |
[INFO] [stdout] 721 |         self.state = AppState::MultiplayerConnecting; // Show connecting state
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a value
[INFO] [stdout]     |
[INFO] [stdout] help: you might have meant to create a new value of the struct
[INFO] [stdout]     |
[INFO] [stdout] 721 |         self.state = AppState::MultiplayerConnecting { game_mode: /* value */ }; // Show connecting state
[INFO] [stdout]     |                                                      ++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `recv_bincode_message` in this scope
[INFO] [stdout]    --> src/main.rs:726:44
[INFO] [stdout]     |
[INFO] [stdout] 726 |         let player_id_msg: ServerMessage = recv_bincode_message(&mut stream).await?;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `u8` cannot be dereferenced
[INFO] [stdout]    --> src/main.rs:551:68
[INFO] [stdout]     |
[INFO] [stdout] 551 | ...                   let (target_snake, is_player_one) = if *client_player_id == 1 {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^ can't be dereferenced
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use `area()` instead
[INFO] [stdout]    --> src/main.rs:641:26
[INFO] [stdout]     |
[INFO] [stdout] 641 |             .split(frame.size());
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use `area()` instead
[INFO] [stdout]    --> src/main.rs:661:53
[INFO] [stdout]     |
[INFO] [stdout] 661 |         let menu_area = centered_rect(50, 50, frame.size());
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0614]: type `u8` cannot be dereferenced
[INFO] [stdout]    --> src/main.rs:551:68
[INFO] [stdout]     |
[INFO] [stdout] 551 | ...                   let (target_snake, is_player_one) = if *client_player_id == 1 {
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^^ can't be dereferenced
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use `area()` instead
[INFO] [stdout]    --> src/main.rs:641:26
[INFO] [stdout]     |
[INFO] [stdout] 641 |             .split(frame.size());
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use `area()` instead
[INFO] [stdout]    --> src/main.rs:661:53
[INFO] [stdout]     |
[INFO] [stdout] 661 |         let menu_area = centered_rect(50, 50, frame.size());
[INFO] [stdout]     |                                                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/main.rs:871:10
[INFO] [stdout]     |
[INFO] [stdout] 871 |         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout]     |          ^^^^^^^^^                          ------------ unexpected argument #2
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-core-0.1.0/src/layout/layout.rs:326:18
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub const fn direction(mut self, direction: Direction) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 871 -         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout] 871 +         .direction(ratatui::layout.Direction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/main.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 1 argument but 2 arguments were supplied
[INFO] [stdout]    --> src/main.rs:871:10
[INFO] [stdout]     |
[INFO] [stdout] 871 |         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout]     |          ^^^^^^^^^                          ------------ unexpected argument #2
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ratatui-core-0.1.0/src/layout/layout.rs:326:18
[INFO] [stdout]     |
[INFO] [stdout] 326 |     pub const fn direction(mut self, direction: Direction) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 871 -         .direction(ratatui::layout.Direction::Horizontal)
[INFO] [stdout] 871 +         .direction(ratatui::layout.Direction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> src/main.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 |     io::{AsyncReadExt, AsyncWriteExt},
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunks`
[INFO] [stdout]    --> src/main.rs:632:13
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let chunks = Layout::default()
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunks`
[INFO] [stdout]    --> src/main.rs:632:13
[INFO] [stdout]     |
[INFO] [stdout] 632 |         let chunks = Layout::default()
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `snake-tui` (bin "snake-tui") due to 17 previous errors; 8 warnings emitted
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0423, E0425, E0533, E0601, E0614.
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0423, E0425, E0533, E0614.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `snake-tui` (bin "snake-tui" test) due to 16 previous errors; 8 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b411520d4ab95cd97dcccb14a3fb1a7fe521215208e70627928ba7999dfa3bf7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b411520d4ab95cd97dcccb14a3fb1a7fe521215208e70627928ba7999dfa3bf7", kill_on_drop: false }`
[INFO] [stdout] b411520d4ab95cd97dcccb14a3fb1a7fe521215208e70627928ba7999dfa3bf7
