[INFO] cloning repository https://github.com/BurntNail/chippy
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BurntNail/chippy" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBurntNail%2Fchippy", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBurntNail%2Fchippy'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ab7f6942e556955ab40f8780b2f3692e01a9281f
[INFO] checking BurntNail/chippy against master#04ff05c9c0cfbca33115c5f1b8bb20a66a54b799 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBurntNail%2Fchippy" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BurntNail/chippy
[INFO] finished tweaking git repo https://github.com/BurntNail/chippy
[INFO] tweaked toml for git repo https://github.com/BurntNail/chippy written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BurntNail/chippy on toolchain 04ff05c9c0cfbca33115c5f1b8bb20a66a54b799
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BurntNail/chippy 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" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "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 owo-colors v4.2.2
[INFO] [stderr]   Downloaded color-spantrace v0.3.0
[INFO] [stderr]   Downloaded indenter v0.3.4
[INFO] [stderr]   Downloaded ewebsock v0.8.0
[INFO] [stderr]   Downloaded zbus-lockstep v0.5.1
[INFO] [stderr]   Downloaded atspi-connection v0.9.0
[INFO] [stderr]   Downloaded accesskit_macos v0.20.0
[INFO] [stderr]   Downloaded accesskit_consumer v0.28.0
[INFO] [stderr]   Downloaded accesskit_windows v0.27.0
[INFO] [stderr]   Downloaded zbus_macros v5.10.0
[INFO] [stderr]   Downloaded egui-wgpu v0.32.1
[INFO] [stderr]   Downloaded glutin v0.32.3
[INFO] [stderr]   Downloaded atspi-common v0.9.0
[INFO] [stderr]   Downloaded eframe v0.32.1
[INFO] [stderr]   Downloaded zbus v5.10.0
[INFO] [stderr]   Downloaded epaint v0.32.1
[INFO] [stderr]   Downloaded webbrowser v1.0.5
[INFO] [stderr]   Downloaded egui-winit v0.32.1
[INFO] [stderr]   Downloaded accesskit_winit v0.27.0
[INFO] [stderr]   Downloaded egui_glow v0.32.1
[INFO] [stderr]   Downloaded emath v0.32.1
[INFO] [stderr]   Downloaded objc2 v0.6.2
[INFO] [stderr]   Downloaded tungstenite v0.27.0
[INFO] [stderr]   Downloaded accesskit_atspi_common v0.12.0
[INFO] [stderr]   Downloaded zbus-lockstep-macros v0.5.1
[INFO] [stderr]   Downloaded atspi-proxies v0.9.0
[INFO] [stderr]   Downloaded async-process v2.4.0
[INFO] [stderr]   Downloaded accesskit_unix v0.15.0
[INFO] [stderr]   Downloaded egui v0.32.1
[INFO] [stderr]   Downloaded ecolor v0.32.1
[INFO] [stderr]   Downloaded zbus_xml v5.0.2
[INFO] [stderr]   Downloaded tokio-tungstenite v0.27.0
[INFO] [stderr]   Downloaded atspi v0.25.0
[INFO] [stderr]   Downloaded color-eyre v0.6.5
[INFO] [stderr]   Downloaded epaint_default_fonts v0.32.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8297e59545901e41d5ea3edc154f73c9dfebbf60250ba0573ccd77a971aefc4d
[INFO] running `Command { std: "docker" "start" "-a" "8297e59545901e41d5ea3edc154f73c9dfebbf60250ba0573ccd77a971aefc4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8297e59545901e41d5ea3edc154f73c9dfebbf60250ba0573ccd77a971aefc4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8297e59545901e41d5ea3edc154f73c9dfebbf60250ba0573ccd77a971aefc4d", kill_on_drop: false }`
[INFO] [stdout] 8297e59545901e41d5ea3edc154f73c9dfebbf60250ba0573ccd77a971aefc4d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eb694a83606095721b6aae9f329149976a3a8236a15b1d45f028d352c6a6aaa6
[INFO] running `Command { std: "docker" "start" "-a" "eb694a83606095721b6aae9f329149976a3a8236a15b1d45f028d352c6a6aaa6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking bitflags v2.9.3
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling wayland-sys v0.31.7
[INFO] [stderr]     Checking unicode-ident v1.0.18
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]    Compiling endi v1.1.0
[INFO] [stderr]     Checking winnow v0.7.13
[INFO] [stderr]    Compiling wayland-client v0.31.11
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking quote v1.0.40
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling xml-rs v0.8.27
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking syn v2.0.106
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]     Checking xcursor v0.3.10
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]     Checking memmap2 v0.9.8
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]     Checking accesskit v0.19.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking event-listener v5.4.1
[INFO] [stderr]     Checking async-executor v1.13.2
[INFO] [stderr]    Compiling winit v0.30.12
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking async-lock v3.4.1
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling owo-colors v4.2.2
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking accesskit_consumer v0.28.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking epaint_default_fonts v0.32.1
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling wayland-scanner v0.31.7
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]     Checking indenter v0.3.4
[INFO] [stderr]     Checking rustc-demangle v0.1.26
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking fishandchippy v0.1.0 (/opt/rustwide/workdir/crates/fishandchippy)
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking glow v0.16.0
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.100
[INFO] [stderr]     Checking backtrace v0.3.75
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling bytemuck_derive v1.10.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]     Checking polling v3.10.0
[INFO] [stderr]     Checking async-io v2.5.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking bytemuck v1.23.2
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking async-signal v0.2.12
[INFO] [stderr]     Checking async-process v2.4.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking emath v0.32.1
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking tungstenite v0.27.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking tracing-error v0.2.1
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking color-eyre v0.6.5
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking ewebsock v0.8.0
[INFO] [stderr]     Checking ecolor v0.32.1
[INFO] [stderr]     Checking zerovec v0.11.4
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]     Checking epaint v0.32.1
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.100
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]     Checking wasm-bindgen v0.2.100
[INFO] [stderr]     Checking egui v0.32.1
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking js-sys v0.3.77
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking zvariant_utils v3.2.1
[INFO] [stderr]     Checking quick-xml v0.36.2
[INFO] [stderr]    Compiling zvariant_derive v5.7.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]    Compiling zvariant v5.7.0
[INFO] [stderr]     Checking webbrowser v1.0.5
[INFO] [stderr]     Checking tokio-tungstenite v0.27.0
[INFO] [stderr]     Checking web-sys v0.3.77
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.50
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking egui_glow v0.32.1
[INFO] [stderr]     Checking zbus_names v4.2.0
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.9
[INFO] [stderr]     Checking zbus_xml v5.0.2
[INFO] [stderr]     Checking zbus-lockstep v0.5.1
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking console_log v1.0.0
[INFO] [stderr]     Checking fishand v0.1.0 (/opt/rustwide/workdir/crates/fishand)
[INFO] [stdout] error[E0252]: the name `Table` is defined multiple times
[INFO] [stdout]   --> crates/fishand/src/client.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout]  1 | use crate::Table;
[INFO] [stdout]    |     ------------ previous import of the type `Table` here
[INFO] [stdout] ...
[INFO] [stdout] 11 | use fishandchippy::game_types::pot::{Pot, Table};
[INFO] [stdout]    |                                           ^^^^^ `Table` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Table` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Table` is defined multiple times
[INFO] [stdout]   --> crates/fishand/src/conn.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use crate::Table;
[INFO] [stdout]    |     ------------ previous import of the type `Table` here
[INFO] [stdout] ...
[INFO] [stdout] 15 | use fishandchippy::game_types::pot::Table;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Table` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Table` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Table` is defined multiple times
[INFO] [stdout]   --> crates/fishand/src/client.rs:11:43
[INFO] [stdout]    |
[INFO] [stdout]  1 | use crate::Table;
[INFO] [stdout]    |     ------------ previous import of the type `Table` here
[INFO] [stdout] ...
[INFO] [stdout] 11 | use fishandchippy::game_types::pot::{Pot, Table};
[INFO] [stdout]    |                                           ^^^^^ `Table` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Table` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0252]: the name `Table` is defined multiple times
[INFO] [stdout]   --> crates/fishand/src/conn.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use crate::Table;
[INFO] [stdout]    |     ------------ previous import of the type `Table` here
[INFO] [stdout] ...
[INFO] [stdout] 15 | use fishandchippy::game_types::pot::Table;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `Table` reimported here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Table` must be defined only once in the type namespace of this module
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Table`
[INFO] [stdout]  --> crates/fishand/src/client.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::Table;
[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: `color_eyre::owo_colors::OwoColorize`
[INFO] [stdout]  --> crates/fishand/src/client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use color_eyre::owo_colors::OwoColorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Table`
[INFO] [stdout]  --> crates/fishand/src/conn.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::Table;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fishandchippy::game_types::player::Player`
[INFO] [stdout]  --> crates/fishand/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use fishandchippy::game_types::player::Player;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pot`
[INFO] [stdout]  --> crates/fishand/src/main.rs:8:38
[INFO] [stdout]   |
[INFO] [stdout] 8 | use fishandchippy::game_types::pot::{Pot, Table};
[INFO] [stdout]   |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/fishand/src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> crates/fishand/src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Table`
[INFO] [stdout]  --> crates/fishand/src/client.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::Table;
[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: `color_eyre::owo_colors::OwoColorize`
[INFO] [stdout]  --> crates/fishand/src/client.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use color_eyre::owo_colors::OwoColorize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::Table`
[INFO] [stdout]  --> crates/fishand/src/conn.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::Table;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fishandchippy::game_types::player::Player`
[INFO] [stdout]  --> crates/fishand/src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use fishandchippy::game_types::player::Player;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pot`
[INFO] [stdout]  --> crates/fishand/src/main.rs:8:38
[INFO] [stdout]   |
[INFO] [stdout] 8 | use fishandchippy::game_types::pot::{Pot, Table};
[INFO] [stdout]   |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/fishand/src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> crates/fishand/src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `table` as mutable, as it is not declared as mutable
[INFO] [stdout]   --> crates/fishand/src/client.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |             let table = table.write().await;
[INFO] [stdout]    |                 ^^^^^ not mutable
[INFO] [stdout] ...
[INFO] [stdout] 62 |             table.pot.ready_to_put_in.remove(uuid);
[INFO] [stdout]    |             ----- cannot borrow as mutable
[INFO] [stdout] 63 |             table.players.remove(uuid);
[INFO] [stdout]    |             ----- cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]    |
[INFO] [stdout] 53 |             let mut table = table.write().await;
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0596]: cannot borrow `table` as mutable, as it is not declared as mutable
[INFO] [stdout]   --> crates/fishand/src/client.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |             let table = table.write().await;
[INFO] [stdout]    |                 ^^^^^ not mutable
[INFO] [stdout] ...
[INFO] [stdout] 62 |             table.pot.ready_to_put_in.remove(uuid);
[INFO] [stdout]    |             ----- cannot borrow as mutable
[INFO] [stdout] 63 |             table.players.remove(uuid);
[INFO] [stdout]    |             ----- cannot borrow as mutable
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing this to be mutable
[INFO] [stdout]    |
[INFO] [stdout] 53 |             let mut table = table.write().await;
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `client` as mutable more than once at a time
[INFO] [stdout]    --> crates/fishand/src/conn.rs:38:20
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout]  38 |         for msg in client.global_msgs_to_send() {
[INFO] [stdout]     |                    ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `client` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> crates/fishand/src/conn.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout]  43 |         if client.should_quit() {
[INFO] [stdout]     |            ^^^^^^ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - mutable borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `client` as mutable more than once at a time
[INFO] [stdout]    --> crates/fishand/src/conn.rs:51:25
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout]  51 |                         client.close(None, &table).await;
[INFO] [stdout]     |                         ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `client` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> crates/fishand/src/conn.rs:54:66
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout]  54 |                         eprintln!("Error receiving message from {client}: {e}");
[INFO] [stdout]     |                                                                  ^^^^^^ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - mutable borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `eprintln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `client` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> crates/fishand/src/conn.rs:105:52
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 105 |                                         println!("{client} sent {evt:?}");
[INFO] [stdout]     |                                                    ^^^^^^ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - mutable borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `client` as mutable more than once at a time
[INFO] [stdout]    --> crates/fishand/src/conn.rs:106:41
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 106 |                                         client.process_event(evt, &table).await;
[INFO] [stdout]     |                                         ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `client` as mutable more than once at a time
[INFO] [stdout]    --> crates/fishand/src/conn.rs:116:21
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 116 |                     client.close(close.as_ref(), &table).await;
[INFO] [stdout]     |                     ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `client` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> crates/fishand/src/conn.rs:119:62
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 119 |                     eprintln!("received unexpected msg from {client}: {unexpected:?}");
[INFO] [stdout]     |                                                              ^^^^^^ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - mutable borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `eprintln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0252, E0499, E0502, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0252`.
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `client` as mutable more than once at a time
[INFO] [stdout]    --> crates/fishand/src/conn.rs:38:20
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout]  38 |         for msg in client.global_msgs_to_send() {
[INFO] [stdout]     |                    ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `client` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> crates/fishand/src/conn.rs:43:12
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout]  43 |         if client.should_quit() {
[INFO] [stdout]     |            ^^^^^^ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - mutable borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `client` as mutable more than once at a time
[INFO] [stdout]    --> crates/fishand/src/conn.rs:51:25
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout]  51 |                         client.close(None, &table).await;
[INFO] [stdout]     |                         ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `client` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> crates/fishand/src/conn.rs:54:66
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout]  54 |                         eprintln!("Error receiving message from {client}: {e}");
[INFO] [stdout]     |                                                                  ^^^^^^ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - mutable borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `eprintln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `client` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> crates/fishand/src/conn.rs:105:52
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 105 |                                         println!("{client} sent {evt:?}");
[INFO] [stdout]     |                                                    ^^^^^^ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - mutable borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `client` as mutable more than once at a time
[INFO] [stdout]    --> crates/fishand/src/conn.rs:106:41
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 106 |                                         client.process_event(evt, &table).await;
[INFO] [stdout]     |                                         ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `client` as mutable more than once at a time
[INFO] [stdout]    --> crates/fishand/src/conn.rs:116:21
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ first mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 116 |                     client.close(close.as_ref(), &table).await;
[INFO] [stdout]     |                     ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - first borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0502]: cannot borrow `client` as immutable because it is also borrowed as mutable
[INFO] [stdout]    --> crates/fishand/src/conn.rs:119:62
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ------ mutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 119 |                     eprintln!("received unexpected msg from {client}: {unexpected:?}");
[INFO] [stdout]     |                                                              ^^^^^^ immutable borrow occurs here
[INFO] [stdout] ...
[INFO] [stdout] 123 |     }
[INFO] [stdout]     |     - mutable borrow might be used here, when `local_msgs_to_send` is dropped and runs the destructor for type `std::iter::Peekable<impl Iterator<Item = EventToClient>>`
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> crates/fishand/src/conn.rs:31:38
[INFO] [stdout]     |
[INFO] [stdout]  31 |         let mut local_msgs_to_send = client.local_msgs_to_send().peekable();
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `eprintln` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    --> crates/fishand/src/client.rs:79:80
[INFO] [stdout]     |
[INFO] [stdout]  79 |     pub fn local_msgs_to_send(&mut self) -> impl Iterator<Item = EventToClient> + use<> {
[INFO] [stdout]     |                                                                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fishand` (bin "fishand" test) due to 11 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0252, E0499, E0502, E0596.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0252`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fishand` (bin "fishand") due to 11 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "eb694a83606095721b6aae9f329149976a3a8236a15b1d45f028d352c6a6aaa6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb694a83606095721b6aae9f329149976a3a8236a15b1d45f028d352c6a6aaa6", kill_on_drop: false }`
[INFO] [stdout] eb694a83606095721b6aae9f329149976a3a8236a15b1d45f028d352c6a6aaa6
