[INFO] cloning repository https://github.com/toastinthetub/irc-chat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/toastinthetub/irc-chat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoastinthetub%2Firc-chat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoastinthetub%2Firc-chat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b1e5f406ee254ba131b102f1d221946f91c556e8
[INFO] checking toastinthetub/irc-chat against try#47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268 for pr-149058
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoastinthetub%2Firc-chat" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/toastinthetub/irc-chat
[INFO] finished tweaking git repo https://github.com/toastinthetub/irc-chat
[INFO] tweaked toml for git repo https://github.com/toastinthetub/irc-chat written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/toastinthetub/irc-chat on toolchain 47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/toastinthetub/irc-chat 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" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[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 toastinthetub/irc-chat against try#47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268 for pr-149058
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftoastinthetub%2Firc-chat" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/toastinthetub/irc-chat
[INFO] finished tweaking git repo https://github.com/toastinthetub/irc-chat
[INFO] tweaked toml for git repo https://github.com/toastinthetub/irc-chat written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/toastinthetub/irc-chat on toolchain 47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/toastinthetub/irc-chat 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" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[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 socket2 v0.5.7
[INFO] [stderr]   Downloaded windows-targets v0.52.5
[INFO] [stderr]   Downloaded tokio-macros v2.3.0
[INFO] [stderr]   Downloaded pin-project-lite v0.2.14
[INFO] [stderr]   Downloaded addr2line v0.22.0
[INFO] [stderr]   Downloaded bytes v1.6.0
[INFO] [stderr]   Downloaded cc v1.0.99
[INFO] [stderr]   Downloaded backtrace v0.3.73
[INFO] [stderr]   Downloaded proc-macro2 v1.0.85
[INFO] [stderr]   Downloaded syn v2.0.66
[INFO] [stderr]   Downloaded gimli v0.29.0
[INFO] [stderr]   Downloaded object v0.36.0
[INFO] [stderr]   Downloaded windows_x86_64_gnullvm v0.52.5
[INFO] [stderr]   Downloaded windows_aarch64_gnullvm v0.52.5
[INFO] [stderr]   Downloaded windows_i686_gnullvm v0.52.5
[INFO] [stderr]   Downloaded windows_aarch64_msvc v0.52.5
[INFO] [stderr]   Downloaded windows_x86_64_gnu v0.52.5
[INFO] [stderr]   Downloaded tokio v1.38.0
[INFO] [stderr]   Downloaded windows_x86_64_msvc v0.52.5
[INFO] [stderr]   Downloaded windows_i686_gnu v0.52.5
[INFO] [stderr]   Downloaded windows_i686_msvc v0.52.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 78e6e0d00680326752c0f1596b1d6d31864efc4e49f091de523eaf5f5d96aca7
[INFO] running `Command { std: "docker" "start" "-a" "78e6e0d00680326752c0f1596b1d6d31864efc4e49f091de523eaf5f5d96aca7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78e6e0d00680326752c0f1596b1d6d31864efc4e49f091de523eaf5f5d96aca7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78e6e0d00680326752c0f1596b1d6d31864efc4e49f091de523eaf5f5d96aca7", kill_on_drop: false }`
[INFO] [stdout] 78e6e0d00680326752c0f1596b1d6d31864efc4e49f091de523eaf5f5d96aca7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+47eaa3b85fbe5fa2b3b731b5fecdc5954cbfc268" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3cc4564bd377d95c4a24bf7370367955fb36071d4be7b432dbd9c764486c36b4
[INFO] running `Command { std: "docker" "start" "-a" "3cc4564bd377d95c4a24bf7370367955fb36071d4be7b432dbd9c764486c36b4", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking bytes v1.6.0
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.3
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]     Checking tokio v1.38.0
[INFO] [stderr]     Checking irc v0.1.0 (/opt/rustwide/workdir/irc)
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]  --> irc/src/lib.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn backend(config: IrcConfig, tx: Sender<IrcEvent>, rx: Receiver<IrcCommand>) {
[INFO] [stdout]   |                                         ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[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]  --> irc/src/lib.rs:8:63
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn backend(config: IrcConfig, tx: Sender<IrcEvent>, rx: Receiver<IrcCommand>) {
[INFO] [stdout]   |                                                               ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]  --> irc/src/lib.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let stream = tokio::net::TcpStream::connect(config.server_address)
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]  --> irc/src/lib.rs:8:41
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn backend(config: IrcConfig, tx: Sender<IrcEvent>, rx: Receiver<IrcCommand>) {
[INFO] [stdout]   |                                         ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[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]  --> irc/src/lib.rs:8:63
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub async fn backend(config: IrcConfig, tx: Sender<IrcEvent>, rx: Receiver<IrcCommand>) {
[INFO] [stdout]   |                                                               ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stream`
[INFO] [stdout]  --> irc/src/lib.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let stream = tokio::net::TcpStream::connect(config.server_address)
[INFO] [stdout]   |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking client v0.1.0 (/opt/rustwide/workdir/client)
[INFO] [stdout] error[E0432]: unresolved import `std::borrow::Borrowt`
[INFO] [stdout]   --> client/src/utils.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     borrow::Borrowt,
[INFO] [stdout]    |     ^^^^^^^^-------
[INFO] [stdout]    |     |       |
[INFO] [stdout]    |     |       help: a similar name exists in the module: `Borrow`
[INFO] [stdout]    |     no `Borrowt` in `borrow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> client/src/client.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread;
[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: `ClearType`, `Clear`, `cursor::MoveTo`, and `execute`
[INFO] [stdout]   --> client/src/client.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     cursor::MoveTo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     event::{poll, read, Event, KeyCode, KeyEvent, KeyModifiers},
[INFO] [stdout] 10 |     execute,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     terminal::{Clear, ClearType},
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QueueableCommand` and `queue`
[INFO] [stdout]  --> client/src/utils.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     execute, queue,
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6 |     QueueableCommand,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `IpAddr`, `SocketAddr`, and `error::Error`
[INFO] [stdout]   --> client/src/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 12 |     fmt::{self, Display},
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 13 |     io::stdout,
[INFO] [stdout] 14 |     net::{IpAddr, SocketAddr, ToSocketAddrs},
[INFO] [stdout]    |           ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IrcCommand` and `IrcEvent`
[INFO] [stdout]  --> client/src/main.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use irc::irc_enums::{IrcCommand, IrcEvent};
[INFO] [stdout]   |                      ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Args`, `args`, and `stdout`
[INFO] [stdout]   --> client/src/main.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     env::{self, args, Args},
[INFO] [stdout]    |                 ^^^^  ^^^^
[INFO] [stdout] 12 |     io::{stdout, Stdout},
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> client/src/main.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::sync::mpsc::{self, channel, Receiver, Sender};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `std::borrow::Borrowt`
[INFO] [stdout]   --> client/src/utils.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     borrow::Borrowt,
[INFO] [stdout]    |     ^^^^^^^^-------
[INFO] [stdout]    |     |       |
[INFO] [stdout]    |     |       help: a similar name exists in the module: `Borrow`
[INFO] [stdout]    |     no `Borrowt` in `borrow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> client/src/client.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread;
[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: `ClearType`, `Clear`, `cursor::MoveTo`, and `execute`
[INFO] [stdout]   --> client/src/client.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     cursor::MoveTo,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     event::{poll, read, Event, KeyCode, KeyEvent, KeyModifiers},
[INFO] [stdout] 10 |     execute,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 11 |     terminal::{Clear, ClearType},
[INFO] [stdout]    |                ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QueueableCommand` and `queue`
[INFO] [stdout]  --> client/src/utils.rs:2:14
[INFO] [stdout]   |
[INFO] [stdout] 2 |     execute, queue,
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 6 |     QueueableCommand,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display`, `IpAddr`, `SocketAddr`, and `error::Error`
[INFO] [stdout]   --> client/src/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     error::Error,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 12 |     fmt::{self, Display},
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 13 |     io::stdout,
[INFO] [stdout] 14 |     net::{IpAddr, SocketAddr, ToSocketAddrs},
[INFO] [stdout]    |           ^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IrcCommand` and `IrcEvent`
[INFO] [stdout]  --> client/src/main.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use irc::irc_enums::{IrcCommand, IrcEvent};
[INFO] [stdout]   |                      ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Args`, `args`, and `stdout`
[INFO] [stdout]   --> client/src/main.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     env::{self, args, Args},
[INFO] [stdout]    |                 ^^^^  ^^^^
[INFO] [stdout] 12 |     io::{stdout, Stdout},
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> client/src/main.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::sync::mpsc::{self, channel, Receiver, Sender};
[INFO] [stdout]    |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/client.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         mut stdout: std::io::Stdout,
[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]   --> client/src/client.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut quit: bool = false; // a genius admires simplicity
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> client/src/client.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         todo!();
[INFO] [stdout]    |         ------- any code following this expression is unreachable
[INFO] [stdout] 41 |         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]   --> client/src/client.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         mut stdout: std::io::Stdout,
[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]   --> client/src/client.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut quit: bool = false; // a genius admires simplicity
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> client/src/client.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |         todo!();
[INFO] [stdout]    |         ------- any code following this expression is unreachable
[INFO] [stdout] 41 |         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] error[E0063]: missing field `input` in initializer of `Canvas`
[INFO] [stdout]    --> client/src/utils.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Self {
[INFO] [stdout]     |             ^^^^ missing `input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0063]: missing field `input` in initializer of `Canvas`
[INFO] [stdout]    --> client/src/utils.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Self {
[INFO] [stdout]     |             ^^^^ missing `input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/client.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         mut stdout: &mut std::io::Stdout,
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> client/src/client.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         mut stdout: &mut std::io::Stdout,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> client/src/client.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         mut stdout: std::io::Stdout,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/client.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         mut stdout: &mut std::io::Stdout,
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> client/src/client.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         mut stdout: &mut std::io::Stdout,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> client/src/client.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         mut stdout: std::io::Stdout,
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/main.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let (ping_1, mut pong_1): (Sender<_>, Receiver<_>) = channel(32);
[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]   --> client/src/main.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (ping_2, mut pong_2): (Sender<_>, Receiver<_>) = channel(32);
[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]   --> client/src/main.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (mut stdout, mut canvas): (Stdout, Canvas) = Canvas::init_canvas().unwrap();
[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]   --> client/src/main.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (mut stdout, mut canvas): (Stdout, Canvas) = Canvas::init_canvas().unwrap();
[INFO] [stdout]    |                      ----^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ping_1`
[INFO] [stdout]   --> client/src/main.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let (ping_1, mut pong_1): (Sender<_>, Receiver<_>) = channel(32);
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ping_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pong_2`
[INFO] [stdout]   --> client/src/main.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (ping_2, mut pong_2): (Sender<_>, Receiver<_>) = channel(32);
[INFO] [stdout]    |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pong_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> client/src/main.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (mut stdout, mut canvas): (Stdout, Canvas) = Canvas::init_canvas().unwrap();
[INFO] [stdout]    |          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frontend_result`
[INFO] [stdout]   --> client/src/main.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let (frontend_result, backend_result) =
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frontend_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backend_result`
[INFO] [stdout]   --> client/src/main.rs:56:27
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let (frontend_result, backend_result) =
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backend_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> client/src/main.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let (ping_1, mut pong_1): (Sender<_>, Receiver<_>) = channel(32);
[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]   --> client/src/main.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (ping_2, mut pong_2): (Sender<_>, Receiver<_>) = channel(32);
[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]   --> client/src/main.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (mut stdout, mut canvas): (Stdout, Canvas) = Canvas::init_canvas().unwrap();
[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]   --> client/src/main.rs:24:22
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (mut stdout, mut canvas): (Stdout, Canvas) = Canvas::init_canvas().unwrap();
[INFO] [stdout]    |                      ----^^^^^^
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ping_1`
[INFO] [stdout]   --> client/src/main.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let (ping_1, mut pong_1): (Sender<_>, Receiver<_>) = channel(32);
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ping_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pong_2`
[INFO] [stdout]   --> client/src/main.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let (ping_2, mut pong_2): (Sender<_>, Receiver<_>) = channel(32);
[INFO] [stdout]    |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pong_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stdout`
[INFO] [stdout]   --> client/src/main.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 |     let (mut stdout, mut canvas): (Stdout, Canvas) = Canvas::init_canvas().unwrap();
[INFO] [stdout]    |          ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frontend_result`
[INFO] [stdout]   --> client/src/main.rs:56:10
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let (frontend_result, backend_result) =
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frontend_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backend_result`
[INFO] [stdout]   --> client/src/main.rs:56:27
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let (frontend_result, backend_result) =
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backend_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0063, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0063`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `client` (bin "client" test) due to 2 previous errors; 22 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `client` (bin "client") due to 2 previous errors; 22 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3cc4564bd377d95c4a24bf7370367955fb36071d4be7b432dbd9c764486c36b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3cc4564bd377d95c4a24bf7370367955fb36071d4be7b432dbd9c764486c36b4", kill_on_drop: false }`
[INFO] [stdout] 3cc4564bd377d95c4a24bf7370367955fb36071d4be7b432dbd9c764486c36b4
