[INFO] cloning repository https://github.com/INDA24PlusPlus/oscae-chess-gui
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/INDA24PlusPlus/oscae-chess-gui" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FINDA24PlusPlus%2Foscae-chess-gui", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FINDA24PlusPlus%2Foscae-chess-gui'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e27effb0a5d6c590a9b13f05651e980a1a5782d5
[INFO] checking INDA24PlusPlus/oscae-chess-gui against try#a3dffdb3a32d0dedc198f9de7d43173f3eb6727b for pr-136303
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FINDA24PlusPlus%2Foscae-chess-gui" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/INDA24PlusPlus/oscae-chess-gui on toolchain a3dffdb3a32d0dedc198f9de7d43173f3eb6727b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3dffdb3a32d0dedc198f9de7d43173f3eb6727b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/INDA24PlusPlus/oscae-chess-gui
[INFO] finished tweaking git repo https://github.com/INDA24PlusPlus/oscae-chess-gui
[INFO] tweaked toml for git repo https://github.com/INDA24PlusPlus/oscae-chess-gui written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/INDA24PlusPlus/oscae-chess-gui 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" "+a3dffdb3a32d0dedc198f9de7d43173f3eb6727b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+a3dffdb3a32d0dedc198f9de7d43173f3eb6727b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a28748ddb267c557daf833adc3bedead2fb25dd1505d06088e5a497c851af96e
[INFO] running `Command { std: "docker" "start" "-a" "a28748ddb267c557daf833adc3bedead2fb25dd1505d06088e5a497c851af96e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a28748ddb267c557daf833adc3bedead2fb25dd1505d06088e5a497c851af96e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a28748ddb267c557daf833adc3bedead2fb25dd1505d06088e5a497c851af96e", kill_on_drop: false }`
[INFO] [stdout] a28748ddb267c557daf833adc3bedead2fb25dd1505d06088e5a497c851af96e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+a3dffdb3a32d0dedc198f9de7d43173f3eb6727b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 657be521d85ee04bc33df4669649849d8ad2c82e09d965bf997f48e06347bebf
[INFO] running `Command { std: "docker" "start" "-a" "657be521d85ee04bc33df4669649849d8ad2c82e09d965bf997f48e06347bebf", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling libc v0.2.159
[INFO] [stderr]    Compiling prettyplease v0.2.22
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling bitflags v2.6.0
[INFO] [stderr]    Compiling home v0.5.9
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling libloading v0.8.5
[INFO] [stderr]    Compiling bindgen v0.69.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling cc v1.1.24
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hashbrown v0.7.2
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking ahash v0.3.8
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking crossbeam-queue v0.2.3
[INFO] [stderr]     Checking tuple_utils v0.3.0
[INFO] [stderr]     Checking hibitset v0.6.4
[INFO] [stderr]     Checking shrev v1.1.3
[INFO] [stderr]     Checking angun-chess v0.1.0 (https://github.com/INDA24PlusPlus/angun-chess.git#c56dd294)
[INFO] [stderr]    Compiling syn v2.0.79
[INFO] [stderr]    Compiling cmake v0.1.51
[INFO] [stderr]     Checking rmp v0.8.14
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]     Checking tynm v0.1.10
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking shred v0.10.2
[INFO] [stderr]     Checking rmp-serde v1.3.0
[INFO] [stderr]    Compiling specs-derive v0.4.1
[INFO] [stderr]    Compiling regex v1.11.0
[INFO] [stderr]     Checking specs v0.16.1
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]     Checking chess-networking v0.1.0 (https://github.com/INDA24PlusPlus/chess-networking.git#490cf1a0)
[INFO] [stderr]    Compiling raylib-sys v5.0.2
[INFO] [stderr]     Checking raylib v5.0.2
[INFO] [stderr]     Checking oscae-chess-gui v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:526:68
[INFO] [stdout]     |
[INFO] [stdout] 526 |                         let (_, promotion, legal) = game.try_move(&selected_square, &square);
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:533:44
[INFO] [stdout]     |
[INFO] [stdout] 533 | ...                   from: (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:533:69
[INFO] [stdout]     |
[INFO] [stdout] 533 | ...                   from: (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:538:38
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:538:63
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:543:68
[INFO] [stdout]     |
[INFO] [stdout] 543 |                         let (_, promotion, legal) = game.try_move(&selected_square, &square);
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:550:44
[INFO] [stdout]     |
[INFO] [stdout] 550 | ...                   from: (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:550:69
[INFO] [stdout]     |
[INFO] [stdout] 550 | ...                   from: (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:555:38
[INFO] [stdout]     |
[INFO] [stdout] 555 | ...                   (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:555:63
[INFO] [stdout]     |
[INFO] [stdout] 555 | ...                   (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:561:39
[INFO] [stdout]     |
[INFO] [stdout] 561 |                         game.do_move(&selected_square, &square);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:564:21
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     selected_square = Square::from((-1, -1));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     selected_piece = Square::from((-1, -1));
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~
[INFO] [stdout] help: you might have meant to introduce a new binding
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     let selected_square = Square::from((-1, -1));
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:566:21
[INFO] [stdout]     |
[INFO] [stdout] 566 |                     selected_square = square;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 566 |                     selected_piece = square;
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~
[INFO] [stdout] help: you might have meant to introduce a new binding
[INFO] [stdout]     |
[INFO] [stdout] 566 |                     let selected_square = square;
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `chess_eninge` in this scope
[INFO] [stdout]    --> src/main.rs:669:41
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 let piece_asset = match chess_eninge.board[y][x].as_str() {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:315:41
[INFO] [stdout]     |
[INFO] [stdout] 315 | ...                   if game.promotion {
[INFO] [stdout]     |                               ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pawn_promotion` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:317:69
[INFO] [stdout]      |
[INFO] [stdout] 317  |                                         Some(promotion) => _ = game.pawn_promotion(match promotion {
[INFO] [stdout]      |                                                                -----^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `pawn_promotion` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:318:70
[INFO] [stdout]     |
[INFO] [stdout] 318 | ...                   PromotionPiece::Queen => PieceType::Queen,
[INFO] [stdout]     |                                                ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:319:71
[INFO] [stdout]     |
[INFO] [stdout] 319 | ...                   PromotionPiece::Bishop => PieceType::Bishop,
[INFO] [stdout]     |                                                 ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:320:71
[INFO] [stdout]     |
[INFO] [stdout] 320 | ...                   PromotionPiece::Knight => PieceType::Knight,
[INFO] [stdout]     |                                                 ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:321:69
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...                   PromotionPiece::Rook => PieceType::Rook,
[INFO] [stdout]     |                                               ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:326:42
[INFO] [stdout]     |
[INFO] [stdout] 326 | ...                   if !game.promotion {
[INFO] [stdout]     |                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_win` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:359:38
[INFO] [stdout]      |
[INFO] [stdout] 359  |                                 game.declare_win(!server.own_color);
[INFO] [stdout]      |                                      ^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_win` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessServer`
[INFO] [stdout]    --> src/main.rs:359:58
[INFO] [stdout]     |
[INFO] [stdout] 359 | ...                   game.declare_win(!server.own_color);
[INFO] [stdout]     |                                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `listener`, `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_draw` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:363:42
[INFO] [stdout]      |
[INFO] [stdout] 363  |                                     game.declare_draw();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_draw` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:399:32
[INFO] [stdout]     |
[INFO] [stdout] 399 |                         client.own_color = if start.is_white { PieceColor::White } else { PieceColor::Black };
[INFO] [stdout]     |                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:399:64
[INFO] [stdout]     |
[INFO] [stdout] 399 |                         client.own_color = if start.is_white { PieceColor::White } else { PieceColor::Black };
[INFO] [stdout]     |                                                                ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:399:91
[INFO] [stdout]     |
[INFO] [stdout] 399 |                         client.own_color = if start.is_white { PieceColor::White } else { PieceColor::Black };
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Game`
[INFO] [stdout]    --> src/main.rs:402:36
[INFO] [stdout]     |
[INFO] [stdout] 402 | ...                   game = Game::from_fen(&fen);
[INFO] [stdout]     |                              ^^^^ use of undeclared type `Game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:407:42
[INFO] [stdout]     |
[INFO] [stdout] 407 |                         rotated = client.own_color == PieceColor::Black;
[INFO] [stdout]     |                                          ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:407:55
[INFO] [stdout]     |
[INFO] [stdout] 407 |                         rotated = client.own_color == PieceColor::Black;
[INFO] [stdout]     |                                                       ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:409:63
[INFO] [stdout]     |
[INFO] [stdout] 409 |                         println!("My color: {}", match client.own_color {
[INFO] [stdout]     |                                                               ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_draw` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:421:34
[INFO] [stdout]      |
[INFO] [stdout] 421  |                             game.declare_draw();
[INFO] [stdout]      |                                  ^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_draw` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `turn` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:430:29
[INFO] [stdout]     |
[INFO] [stdout] 430 |                     if game.turn != client.own_color {
[INFO] [stdout]     |                             ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:430:44
[INFO] [stdout]     |
[INFO] [stdout] 430 |                     if game.turn != client.own_color {
[INFO] [stdout]     |                                            ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_win` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:436:38
[INFO] [stdout]      |
[INFO] [stdout] 436  |                                 game.declare_win(client.own_color);
[INFO] [stdout]      |                                      ^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_win` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:436:57
[INFO] [stdout]     |
[INFO] [stdout] 436 | ...                   game.declare_win(client.own_color);
[INFO] [stdout]     |                                               ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:526:68
[INFO] [stdout]     |
[INFO] [stdout] 526 |                         let (_, promotion, legal) = game.try_move(&selected_square, &square);
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:533:44
[INFO] [stdout]     |
[INFO] [stdout] 533 | ...                   from: (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:533:69
[INFO] [stdout]     |
[INFO] [stdout] 533 | ...                   from: (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:538:38
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:538:63
[INFO] [stdout]     |
[INFO] [stdout] 538 | ...                   (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:543:68
[INFO] [stdout]     |
[INFO] [stdout] 543 |                         let (_, promotion, legal) = game.try_move(&selected_square, &square);
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:550:44
[INFO] [stdout]     |
[INFO] [stdout] 550 | ...                   from: (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:550:69
[INFO] [stdout]     |
[INFO] [stdout] 550 | ...                   from: (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:555:38
[INFO] [stdout]     |
[INFO] [stdout] 555 | ...                   (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:555:63
[INFO] [stdout]     |
[INFO] [stdout] 555 | ...                   (selected_square.x as u8, selected_square.y as u8),
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:561:39
[INFO] [stdout]     |
[INFO] [stdout] 561 |                         game.do_move(&selected_square, &square);
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `selected_piece`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:564:21
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     selected_square = Square::from((-1, -1));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     selected_piece = Square::from((-1, -1));
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~
[INFO] [stdout] help: you might have meant to introduce a new binding
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     let selected_square = Square::from((-1, -1));
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `selected_square` in this scope
[INFO] [stdout]    --> src/main.rs:566:21
[INFO] [stdout]     |
[INFO] [stdout] 566 |                     selected_square = square;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a local variable with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 566 |                     selected_piece = square;
[INFO] [stdout]     |                     ~~~~~~~~~~~~~~
[INFO] [stdout] help: you might have meant to introduce a new binding
[INFO] [stdout]     |
[INFO] [stdout] 566 |                     let selected_square = square;
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `chess_eninge` in this scope
[INFO] [stdout]    --> src/main.rs:669:41
[INFO] [stdout]     |
[INFO] [stdout] 669 |                 let piece_asset = match chess_eninge.board[y][x].as_str() {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]     --> src/main.rs:441:44
[INFO] [stdout]      |
[INFO] [stdout] 441  | ...                   } else if game.do_move(&to_square(&pmove.from), &to_square(&pmove.to)) {
[INFO] [stdout]      |                                      ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `&String`, found `&(i32, i32)`
[INFO] [stdout]     --> src/main.rs:441:52
[INFO] [stdout]      |
[INFO] [stdout] 441  | ...                   } else if game.do_move(&to_square(&pmove.from), &to_square(&pmove.to)) {
[INFO] [stdout]      |                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected reference `&String`
[INFO] [stdout]                 found reference `&(i32, i32)`
[INFO] [stdout] note: expected `(i32, i32)`, found `&(i32, i32)`
[INFO] [stdout]     --> src/main.rs:441:77
[INFO] [stdout]      |
[INFO] [stdout] 441  | ...                   } else if game.do_move(&to_square(&pmove.from), &to_square(&pmove.to)) {
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note:  expected tuple `(_, _)`
[INFO] [stdout]              found reference `&(_, _)`
[INFO] [stdout] note: method defined here
[INFO] [stdout]     --> src/main.rs:1420:8
[INFO] [stdout]      |
[INFO] [stdout] 1420 |     fn do_move(&mut self, piece: &String, to: (i32, i32)) -> bool {
[INFO] [stdout]      |        ^^^^^^^            --------------  --------------
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]      |
[INFO] [stdout] 441  -                             } else if game.do_move(&to_square(&pmove.from), &to_square(&pmove.to)) {
[INFO] [stdout] 441  +                             } else if game.do_move(&to_square(&pmove.from), to_square(&pmove.to)) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:442:41
[INFO] [stdout]     |
[INFO] [stdout] 442 | ...                   if game.promotion {
[INFO] [stdout]     |                               ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pawn_promotion` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:444:69
[INFO] [stdout]      |
[INFO] [stdout] 444  |                                         Some(promotion) => _ = game.pawn_promotion(match promotion {
[INFO] [stdout]      |                                                                -----^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `pawn_promotion` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:445:70
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   PromotionPiece::Queen => PieceType::Queen,
[INFO] [stdout]     |                                                ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:446:71
[INFO] [stdout]     |
[INFO] [stdout] 446 | ...                   PromotionPiece::Bishop => PieceType::Bishop,
[INFO] [stdout]     |                                                 ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:447:71
[INFO] [stdout]     |
[INFO] [stdout] 447 | ...                   PromotionPiece::Knight => PieceType::Knight,
[INFO] [stdout]     |                                                 ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:448:69
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...                   PromotionPiece::Rook => PieceType::Rook,
[INFO] [stdout]     |                                               ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:453:42
[INFO] [stdout]     |
[INFO] [stdout] 453 | ...                   if !game.promotion {
[INFO] [stdout]     |                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `turn` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:477:37
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     can_move = game.turn == client.own_color; // allow the making of moves if it is own turn
[INFO] [stdout]     |                                     ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:477:52
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     can_move = game.turn == client.own_color; // allow the making of moves if it is own turn
[INFO] [stdout]     |                                                    ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:315:41
[INFO] [stdout]     |
[INFO] [stdout] 315 | ...                   if game.promotion {
[INFO] [stdout]     |                               ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_win` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:486:38
[INFO] [stdout]      |
[INFO] [stdout] 486  |                                 game.declare_win(!client.own_color);
[INFO] [stdout]      |                                      ^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_win` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:486:58
[INFO] [stdout]     |
[INFO] [stdout] 486 | ...                   game.declare_win(!client.own_color);
[INFO] [stdout]     |                                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_draw` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:491:42
[INFO] [stdout]      |
[INFO] [stdout] 491  |                                     game.declare_draw();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_draw` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:523:22
[INFO] [stdout]     |
[INFO] [stdout] 523 |             if !game.promotion && !promotion_network {
[INFO] [stdout]     |                      ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `try_move` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:526:58
[INFO] [stdout]      |
[INFO] [stdout] 526  |                         let (_, promotion, legal) = game.try_move(&selected_square, &square);
[INFO] [stdout]      |                                                          ^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `try_move` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:531:54
[INFO] [stdout]     |
[INFO] [stdout] 531 | ...                   promotion_x = square.x;
[INFO] [stdout]     |                                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:534:49
[INFO] [stdout]     |
[INFO] [stdout] 534 | ...                   to: (square.x as u8, square.y as u8),
[INFO] [stdout]     |                                   ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:534:65
[INFO] [stdout]     |
[INFO] [stdout] 534 | ...                   to: (square.x as u8, square.y as u8),
[INFO] [stdout]     |                                                   ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:539:45
[INFO] [stdout]     |
[INFO] [stdout] 539 | ...                   (square.x as u8, square.y as u8), None, false, false);
[INFO] [stdout]     |                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:539:61
[INFO] [stdout]     |
[INFO] [stdout] 539 | ...                   (square.x as u8, square.y as u8), None, false, false);
[INFO] [stdout]     |                                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pawn_promotion` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:317:69
[INFO] [stdout]      |
[INFO] [stdout] 317  |                                         Some(promotion) => _ = game.pawn_promotion(match promotion {
[INFO] [stdout]      |                                                                -----^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `pawn_promotion` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:318:70
[INFO] [stdout]     |
[INFO] [stdout] 318 | ...                   PromotionPiece::Queen => PieceType::Queen,
[INFO] [stdout]     |                                                ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:319:71
[INFO] [stdout]     |
[INFO] [stdout] 319 | ...                   PromotionPiece::Bishop => PieceType::Bishop,
[INFO] [stdout]     |                                                 ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:320:71
[INFO] [stdout]     |
[INFO] [stdout] 320 | ...                   PromotionPiece::Knight => PieceType::Knight,
[INFO] [stdout]     |                                                 ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:321:69
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...                   PromotionPiece::Rook => PieceType::Rook,
[INFO] [stdout]     |                                               ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:326:42
[INFO] [stdout]     |
[INFO] [stdout] 326 | ...                   if !game.promotion {
[INFO] [stdout]     |                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `try_move` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:543:58
[INFO] [stdout]      |
[INFO] [stdout] 543  |                         let (_, promotion, legal) = game.try_move(&selected_square, &square);
[INFO] [stdout]      |                                                          ^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `try_move` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:548:54
[INFO] [stdout]     |
[INFO] [stdout] 548 | ...                   promotion_x = square.x;
[INFO] [stdout]     |                                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:551:49
[INFO] [stdout]     |
[INFO] [stdout] 551 | ...                   to: (square.x as u8, square.y as u8),
[INFO] [stdout]     |                                   ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:551:65
[INFO] [stdout]     |
[INFO] [stdout] 551 | ...                   to: (square.x as u8, square.y as u8),
[INFO] [stdout]     |                                                   ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:556:45
[INFO] [stdout]     |
[INFO] [stdout] 556 | ...                   (square.x as u8, square.y as u8), None, false, false);
[INFO] [stdout]     |                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:556:61
[INFO] [stdout]     |
[INFO] [stdout] 556 | ...                   (square.x as u8, square.y as u8), None, false, false);
[INFO] [stdout]     |                                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_win` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:359:38
[INFO] [stdout]      |
[INFO] [stdout] 359  |                                 game.declare_win(!server.own_color);
[INFO] [stdout]      |                                      ^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_win` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessServer`
[INFO] [stdout]    --> src/main.rs:359:58
[INFO] [stdout]     |
[INFO] [stdout] 359 | ...                   game.declare_win(!server.own_color);
[INFO] [stdout]     |                                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `listener`, `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_draw` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:363:42
[INFO] [stdout]      |
[INFO] [stdout] 363  |                                     game.declare_draw();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_draw` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:399:32
[INFO] [stdout]     |
[INFO] [stdout] 399 |                         client.own_color = if start.is_white { PieceColor::White } else { PieceColor::Black };
[INFO] [stdout]     |                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:399:64
[INFO] [stdout]     |
[INFO] [stdout] 399 |                         client.own_color = if start.is_white { PieceColor::White } else { PieceColor::Black };
[INFO] [stdout]     |                                                                ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:399:91
[INFO] [stdout]     |
[INFO] [stdout] 399 |                         client.own_color = if start.is_white { PieceColor::White } else { PieceColor::Black };
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Game`
[INFO] [stdout]    --> src/main.rs:402:36
[INFO] [stdout]     |
[INFO] [stdout] 402 | ...                   game = Game::from_fen(&fen);
[INFO] [stdout]     |                              ^^^^ use of undeclared type `Game`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/main.rs:561:56
[INFO] [stdout]      |
[INFO] [stdout] 561  |                         game.do_move(&selected_square, &square);
[INFO] [stdout]      |                              -------                   ^^^^^^^ expected `(i32, i32)`, found `&(i32, i32)`
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              arguments to this method are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note:  expected tuple `(_, _)`
[INFO] [stdout]              found reference `&(_, _)`
[INFO] [stdout] note: method defined here
[INFO] [stdout]     --> src/main.rs:1420:8
[INFO] [stdout]      |
[INFO] [stdout] 1420 |     fn do_move(&mut self, piece: &String, to: (i32, i32)) -> bool {
[INFO] [stdout]      |        ^^^^^^^                            --------------
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]      |
[INFO] [stdout] 561  -                         game.do_move(&selected_square, &square);
[INFO] [stdout] 561  +                         game.do_move(&selected_square, square);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Square`
[INFO] [stdout]    --> src/main.rs:564:39
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     selected_square = Square::from((-1, -1));
[INFO] [stdout]     |                                       ^^^^^^ use of undeclared type `Square`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:407:42
[INFO] [stdout]     |
[INFO] [stdout] 407 |                         rotated = client.own_color == PieceColor::Black;
[INFO] [stdout]     |                                          ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:407:55
[INFO] [stdout]     |
[INFO] [stdout] 407 |                         rotated = client.own_color == PieceColor::Black;
[INFO] [stdout]     |                                                       ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:409:63
[INFO] [stdout]     |
[INFO] [stdout] 409 |                         println!("My color: {}", match client.own_color {
[INFO] [stdout]     |                                                               ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_moves_list` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:567:38
[INFO] [stdout]      |
[INFO] [stdout] 567  |                     positions = game.get_moves_list(&square);
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `get_moves_list` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_draw` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:421:34
[INFO] [stdout]      |
[INFO] [stdout] 421  |                             game.declare_draw();
[INFO] [stdout]      |                                  ^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_draw` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:570:28
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...   else if square.x == game.last_moved_to.x || promotion_network && square.x == promotion_x { // promotion && clicked on piece in prom...
[INFO] [stdout]     |                      ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `turn` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:430:29
[INFO] [stdout]     |
[INFO] [stdout] 430 |                     if game.turn != client.own_color {
[INFO] [stdout]     |                             ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:430:44
[INFO] [stdout]     |
[INFO] [stdout] 430 |                     if game.turn != client.own_color {
[INFO] [stdout]     |                                            ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `last_moved_to` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:570:38
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...   else if square.x == game.last_moved_to.x || promotion_network && square.x == promotion_x { // promotion && clicked on piece in prom...
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:570:85
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...   else if square.x == game.last_moved_to.x || promotion_network && square.x == promotion_x { // promotion && clicked on piece in prom...
[INFO] [stdout]     |                                                                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `turn` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:572:36
[INFO] [stdout]     |
[INFO] [stdout] 572 |                 let y = match game.turn {
[INFO] [stdout]     |                                    ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:577:54
[INFO] [stdout]     |
[INFO] [stdout] 577 |                 let distance_to_pawn = if y > square.y {
[INFO] [stdout]     |                                                      ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:578:32
[INFO] [stdout]     |
[INFO] [stdout] 578 |                     y - square.y
[INFO] [stdout]     |                                ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:580:28
[INFO] [stdout]     |
[INFO] [stdout] 580 |                     square.y - y
[INFO] [stdout]     |                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:583:27
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 if square.y <= match y { 0 => 4, 7 => 6, _ => -1 } &&
[INFO] [stdout]     |                           ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:584:28
[INFO] [stdout]     |
[INFO] [stdout] 584 |                     square.y >= match y { 0 => 1, 7 => 3, _ => 100 } {
[INFO] [stdout]     |                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:587:35
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         1 => Some(PieceType::Queen),
[INFO] [stdout]     |                                   ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:588:35
[INFO] [stdout]     |
[INFO] [stdout] 588 |                         2 => Some(PieceType::Rook),
[INFO] [stdout]     |                                   ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:589:35
[INFO] [stdout]     |
[INFO] [stdout] 589 |                         3 => Some(PieceType::Bishop),
[INFO] [stdout]     |                                   ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:590:35
[INFO] [stdout]     |
[INFO] [stdout] 590 |                         4 => Some(PieceType::Knight),
[INFO] [stdout]     |                                   ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_win` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:436:38
[INFO] [stdout]      |
[INFO] [stdout] 436  |                                 game.declare_win(client.own_color);
[INFO] [stdout]      |                                      ^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_win` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:436:57
[INFO] [stdout]     |
[INFO] [stdout] 436 | ...                   game.declare_win(client.own_color);
[INFO] [stdout]     |                                               ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pawn_promotion` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:619:34
[INFO] [stdout]      |
[INFO] [stdout] 619  |                             game.pawn_promotion(promotion_piece);
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `pawn_promotion` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `turn` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:648:35
[INFO] [stdout]     |
[INFO] [stdout] 648 |             let turn = match game.turn {
[INFO] [stdout]     |                                   ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: arguments to this method are incorrect
[INFO] [stdout]     --> src/main.rs:441:44
[INFO] [stdout]      |
[INFO] [stdout] 441  | ...                   } else if game.do_move(&to_square(&pmove.from), &to_square(&pmove.to)) {
[INFO] [stdout]      |                                      ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] note: expected `&String`, found `&(i32, i32)`
[INFO] [stdout]     --> src/main.rs:441:52
[INFO] [stdout]      |
[INFO] [stdout] 441  | ...                   } else if game.do_move(&to_square(&pmove.from), &to_square(&pmove.to)) {
[INFO] [stdout]      |                                              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: expected reference `&String`
[INFO] [stdout]                 found reference `&(i32, i32)`
[INFO] [stdout] note: expected `(i32, i32)`, found `&(i32, i32)`
[INFO] [stdout]     --> src/main.rs:441:77
[INFO] [stdout]      |
[INFO] [stdout] 441  | ...                   } else if game.do_move(&to_square(&pmove.from), &to_square(&pmove.to)) {
[INFO] [stdout]      |                                                                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note:  expected tuple `(_, _)`
[INFO] [stdout]              found reference `&(_, _)`
[INFO] [stdout] note: method defined here
[INFO] [stdout]     --> src/main.rs:1420:8
[INFO] [stdout]      |
[INFO] [stdout] 1420 |     fn do_move(&mut self, piece: &String, to: (i32, i32)) -> bool {
[INFO] [stdout]      |        ^^^^^^^            --------------  --------------
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]      |
[INFO] [stdout] 441  -                             } else if game.do_move(&to_square(&pmove.from), &to_square(&pmove.to)) {
[INFO] [stdout] 441  +                             } else if game.do_move(&to_square(&pmove.from), to_square(&pmove.to)) {
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:442:41
[INFO] [stdout]     |
[INFO] [stdout] 442 | ...                   if game.promotion {
[INFO] [stdout]     |                               ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_board_state` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:697:39
[INFO] [stdout]      |
[INFO] [stdout] 697  |             let pos_texture = if game.get_board_state().contains_key(square) {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `get_board_state` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `&(i32, i32)`
[INFO] [stdout]    --> src/main.rs:706:69
[INFO] [stdout]     |
[INFO] [stdout] 706 |                     board_left + board_square_size * (mirror(square.x, rotated) as f32 + 0.5),
[INFO] [stdout]     |                                                                     ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `&(i32, i32)`
[INFO] [stdout]    --> src/main.rs:707:68
[INFO] [stdout]     |
[INFO] [stdout] 707 |                     board_top + board_square_size * (mirror(square.y, !rotated) as f32 + 0.5),
[INFO] [stdout]     |                                                                    ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pawn_promotion` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:444:69
[INFO] [stdout]      |
[INFO] [stdout] 444  |                                         Some(promotion) => _ = game.pawn_promotion(match promotion {
[INFO] [stdout]      |                                                                -----^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `pawn_promotion` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:445:70
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   PromotionPiece::Queen => PieceType::Queen,
[INFO] [stdout]     |                                                ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:446:71
[INFO] [stdout]     |
[INFO] [stdout] 446 | ...                   PromotionPiece::Bishop => PieceType::Bishop,
[INFO] [stdout]     |                                                 ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:447:71
[INFO] [stdout]     |
[INFO] [stdout] 447 | ...                   PromotionPiece::Knight => PieceType::Knight,
[INFO] [stdout]     |                                                 ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:448:69
[INFO] [stdout]     |
[INFO] [stdout] 448 | ...                   PromotionPiece::Rook => PieceType::Rook,
[INFO] [stdout]     |                                               ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:453:42
[INFO] [stdout]     |
[INFO] [stdout] 453 | ...                   if !game.promotion {
[INFO] [stdout]     |                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `turn` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:477:37
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     can_move = game.turn == client.own_color; // allow the making of moves if it is own turn
[INFO] [stdout]     |                                     ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:477:52
[INFO] [stdout]     |
[INFO] [stdout] 477 |                     can_move = game.turn == client.own_color; // allow the making of moves if it is own turn
[INFO] [stdout]     |                                                    ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_win` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:486:38
[INFO] [stdout]      |
[INFO] [stdout] 486  |                                 game.declare_win(!client.own_color);
[INFO] [stdout]      |                                      ^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_win` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `own_color` on type `&mut ChessClient`
[INFO] [stdout]    --> src/main.rs:486:58
[INFO] [stdout]     |
[INFO] [stdout] 486 | ...                   game.declare_win(!client.own_color);
[INFO] [stdout]     |                                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `stream`, `own_color_is_white`, `name`, `network_phase`, `saved_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `declare_draw` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:491:42
[INFO] [stdout]      |
[INFO] [stdout] 491  |                                     game.declare_draw();
[INFO] [stdout]      |                                          ^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `declare_draw` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `promotion` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:523:22
[INFO] [stdout]     |
[INFO] [stdout] 523 |             if !game.promotion && !promotion_network {
[INFO] [stdout]     |                      ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `try_move` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:526:58
[INFO] [stdout]      |
[INFO] [stdout] 526  |                         let (_, promotion, legal) = game.try_move(&selected_square, &square);
[INFO] [stdout]      |                                                          ^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `try_move` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:531:54
[INFO] [stdout]     |
[INFO] [stdout] 531 | ...                   promotion_x = square.x;
[INFO] [stdout]     |                                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:534:49
[INFO] [stdout]     |
[INFO] [stdout] 534 | ...                   to: (square.x as u8, square.y as u8),
[INFO] [stdout]     |                                   ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:534:65
[INFO] [stdout]     |
[INFO] [stdout] 534 | ...                   to: (square.x as u8, square.y as u8),
[INFO] [stdout]     |                                                   ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:539:45
[INFO] [stdout]     |
[INFO] [stdout] 539 | ...                   (square.x as u8, square.y as u8), None, false, false);
[INFO] [stdout]     |                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:539:61
[INFO] [stdout]     |
[INFO] [stdout] 539 | ...                   (square.x as u8, square.y as u8), None, false, false);
[INFO] [stdout]     |                                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `try_move` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:543:58
[INFO] [stdout]      |
[INFO] [stdout] 543  |                         let (_, promotion, legal) = game.try_move(&selected_square, &square);
[INFO] [stdout]      |                                                          ^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `try_move` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:548:54
[INFO] [stdout]     |
[INFO] [stdout] 548 | ...                   promotion_x = square.x;
[INFO] [stdout]     |                                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:551:49
[INFO] [stdout]     |
[INFO] [stdout] 551 | ...                   to: (square.x as u8, square.y as u8),
[INFO] [stdout]     |                                   ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:551:65
[INFO] [stdout]     |
[INFO] [stdout] 551 | ...                   to: (square.x as u8, square.y as u8),
[INFO] [stdout]     |                                                   ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:556:45
[INFO] [stdout]     |
[INFO] [stdout] 556 | ...                   (square.x as u8, square.y as u8), None, false, false);
[INFO] [stdout]     |                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:556:61
[INFO] [stdout]     |
[INFO] [stdout] 556 | ...                   (square.x as u8, square.y as u8), None, false, false);
[INFO] [stdout]     |                                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/main.rs:561:56
[INFO] [stdout]      |
[INFO] [stdout] 561  |                         game.do_move(&selected_square, &square);
[INFO] [stdout]      |                              -------                   ^^^^^^^ expected `(i32, i32)`, found `&(i32, i32)`
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              arguments to this method are incorrect
[INFO] [stdout]      |
[INFO] [stdout]      = note:  expected tuple `(_, _)`
[INFO] [stdout]              found reference `&(_, _)`
[INFO] [stdout] note: method defined here
[INFO] [stdout]     --> src/main.rs:1420:8
[INFO] [stdout]      |
[INFO] [stdout] 1420 |     fn do_move(&mut self, piece: &String, to: (i32, i32)) -> bool {
[INFO] [stdout]      |        ^^^^^^^                            --------------
[INFO] [stdout] help: consider removing the borrow
[INFO] [stdout]      |
[INFO] [stdout] 561  -                         game.do_move(&selected_square, &square);
[INFO] [stdout] 561  +                         game.do_move(&selected_square, square);
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Square`
[INFO] [stdout]    --> src/main.rs:564:39
[INFO] [stdout]     |
[INFO] [stdout] 564 |                     selected_square = Square::from((-1, -1));
[INFO] [stdout]     |                                       ^^^^^^ use of undeclared type `Square`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_moves_list` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:567:38
[INFO] [stdout]      |
[INFO] [stdout] 567  |                     positions = game.get_moves_list(&square);
[INFO] [stdout]      |                                      ^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `get_moves_list` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:570:28
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...   else if square.x == game.last_moved_to.x || promotion_network && square.x == promotion_x { // promotion && clicked on piece in prom...
[INFO] [stdout]     |                      ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `last_moved_to` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:570:38
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...   else if square.x == game.last_moved_to.x || promotion_network && square.x == promotion_x { // promotion && clicked on piece in prom...
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:570:85
[INFO] [stdout]     |
[INFO] [stdout] 570 | ...   else if square.x == game.last_moved_to.x || promotion_network && square.x == promotion_x { // promotion && clicked on piece in prom...
[INFO] [stdout]     |                                                                               ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `turn` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:572:36
[INFO] [stdout]     |
[INFO] [stdout] 572 |                 let y = match game.turn {
[INFO] [stdout]     |                                    ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:577:54
[INFO] [stdout]     |
[INFO] [stdout] 577 |                 let distance_to_pawn = if y > square.y {
[INFO] [stdout]     |                                                      ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:578:32
[INFO] [stdout]     |
[INFO] [stdout] 578 |                     y - square.y
[INFO] [stdout]     |                                ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:580:28
[INFO] [stdout]     |
[INFO] [stdout] 580 |                     square.y - y
[INFO] [stdout]     |                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:583:27
[INFO] [stdout]     |
[INFO] [stdout] 583 |                 if square.y <= match y { 0 => 4, 7 => 6, _ => -1 } &&
[INFO] [stdout]     |                           ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `(i32, i32)`
[INFO] [stdout]    --> src/main.rs:584:28
[INFO] [stdout]     |
[INFO] [stdout] 584 |                     square.y >= match y { 0 => 1, 7 => 3, _ => 100 } {
[INFO] [stdout]     |                            ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:587:35
[INFO] [stdout]     |
[INFO] [stdout] 587 |                         1 => Some(PieceType::Queen),
[INFO] [stdout]     |                                   ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:588:35
[INFO] [stdout]     |
[INFO] [stdout] 588 |                         2 => Some(PieceType::Rook),
[INFO] [stdout]     |                                   ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:589:35
[INFO] [stdout]     |
[INFO] [stdout] 589 |                         3 => Some(PieceType::Bishop),
[INFO] [stdout]     |                                   ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:590:35
[INFO] [stdout]     |
[INFO] [stdout] 590 |                         4 => Some(PieceType::Knight),
[INFO] [stdout]     |                                   ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pawn_promotion` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:619:34
[INFO] [stdout]      |
[INFO] [stdout] 619  |                             game.pawn_promotion(promotion_piece);
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `pawn_promotion` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `turn` on type `ChessEngine`
[INFO] [stdout]    --> src/main.rs:648:35
[INFO] [stdout]     |
[INFO] [stdout] 648 |             let turn = match game.turn {
[INFO] [stdout]     |                                   ^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `board`, `whites_turn_to_move`, `result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get_board_state` found for struct `ChessEngine` in the current scope
[INFO] [stdout]     --> src/main.rs:697:39
[INFO] [stdout]      |
[INFO] [stdout] 697  |             let pos_texture = if game.get_board_state().contains_key(square) {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^ method not found in `ChessEngine`
[INFO] [stdout] ...
[INFO] [stdout] 1346 | struct ChessEngine {
[INFO] [stdout]      | ------------------ method `get_board_state` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `x` on type `&(i32, i32)`
[INFO] [stdout]    --> src/main.rs:706:69
[INFO] [stdout]     |
[INFO] [stdout] 706 |                     board_left + board_square_size * (mirror(square.x, rotated) as f32 + 0.5),
[INFO] [stdout]     |                                                                     ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `y` on type `&(i32, i32)`
[INFO] [stdout]    --> src/main.rs:707:68
[INFO] [stdout]     |
[INFO] [stdout] 707 |                     board_top + board_square_size * (mirror(square.y, !rotated) as f32 + 0.5),
[INFO] [stdout]     |                                                                    ^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:650:17
[INFO] [stdout]     |
[INFO] [stdout] 650 |                 PieceColor::Black => "Black",
[INFO] [stdout]     |                 ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:649:17
[INFO] [stdout]     |
[INFO] [stdout] 649 |                 PieceColor::White => "White",
[INFO] [stdout]     |                 ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:602:33
[INFO] [stdout]     |
[INFO] [stdout] 602 | ...                   PieceType::Rook => Some(PromotionPiece::Rook),
[INFO] [stdout]     |                       ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:601:33
[INFO] [stdout]     |
[INFO] [stdout] 601 | ...                   PieceType::Knight => Some(PromotionPiece::Knight),
[INFO] [stdout]     |                       ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:600:33
[INFO] [stdout]     |
[INFO] [stdout] 600 | ...                   PieceType::Bishop => Some(PromotionPiece::Bishop),
[INFO] [stdout]     |                       ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:599:33
[INFO] [stdout]     |
[INFO] [stdout] 599 | ...                   PieceType::Queen => Some(PromotionPiece::Queen),
[INFO] [stdout]     |                       ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:574:21
[INFO] [stdout]     |
[INFO] [stdout] 574 |                     PieceColor::Black => 0,
[INFO] [stdout]     |                     ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:573:21
[INFO] [stdout]     |
[INFO] [stdout] 573 |                     PieceColor::White => 7,
[INFO] [stdout]     |                     ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   PieceColor::White => "White",
[INFO] [stdout]     |                       ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | ...                   PieceColor::Black => "Black",
[INFO] [stdout]     |                       ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0433, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oscae-chess-gui` (bin "oscae-chess-gui") due to 93 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:650:17
[INFO] [stdout]     |
[INFO] [stdout] 650 |                 PieceColor::Black => "Black",
[INFO] [stdout]     |                 ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:649:17
[INFO] [stdout]     |
[INFO] [stdout] 649 |                 PieceColor::White => "White",
[INFO] [stdout]     |                 ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:602:33
[INFO] [stdout]     |
[INFO] [stdout] 602 | ...                   PieceType::Rook => Some(PromotionPiece::Rook),
[INFO] [stdout]     |                       ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:601:33
[INFO] [stdout]     |
[INFO] [stdout] 601 | ...                   PieceType::Knight => Some(PromotionPiece::Knight),
[INFO] [stdout]     |                       ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:600:33
[INFO] [stdout]     |
[INFO] [stdout] 600 | ...                   PieceType::Bishop => Some(PromotionPiece::Bishop),
[INFO] [stdout]     |                       ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceType`
[INFO] [stdout]    --> src/main.rs:599:33
[INFO] [stdout]     |
[INFO] [stdout] 599 | ...                   PieceType::Queen => Some(PromotionPiece::Queen),
[INFO] [stdout]     |                       ^^^^^^^^^ use of undeclared type `PieceType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:574:21
[INFO] [stdout]     |
[INFO] [stdout] 574 |                     PieceColor::Black => 0,
[INFO] [stdout]     |                     ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:573:21
[INFO] [stdout]     |
[INFO] [stdout] 573 |                     PieceColor::White => 7,
[INFO] [stdout]     |                     ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:410:29
[INFO] [stdout]     |
[INFO] [stdout] 410 | ...                   PieceColor::White => "White",
[INFO] [stdout]     |                       ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `PieceColor`
[INFO] [stdout]    --> src/main.rs:411:29
[INFO] [stdout]     |
[INFO] [stdout] 411 | ...                   PieceColor::Black => "Black",
[INFO] [stdout]     |                       ^^^^^^^^^^ use of undeclared type `PieceColor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0425, E0433, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oscae-chess-gui` (bin "oscae-chess-gui" test) due to 93 previous errors
[INFO] running `Command { std: "docker" "inspect" "657be521d85ee04bc33df4669649849d8ad2c82e09d965bf997f48e06347bebf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "657be521d85ee04bc33df4669649849d8ad2c82e09d965bf997f48e06347bebf", kill_on_drop: false }`
[INFO] [stdout] 657be521d85ee04bc33df4669649849d8ad2c82e09d965bf997f48e06347bebf
