[INFO] cloning repository https://github.com/Lurchfresser/hhz
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lurchfresser/hhz" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLurchfresser%2Fhhz", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLurchfresser%2Fhhz'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 22da478f388cd4daf44c97104f7fdd6cf687ce53
[INFO] checking Lurchfresser/hhz against try#f3d95de532264a1215023baa665c0028aecf74b1 for pr-148477
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLurchfresser%2Fhhz" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Lurchfresser/hhz
[INFO] finished tweaking git repo https://github.com/Lurchfresser/hhz
[INFO] tweaked toml for git repo https://github.com/Lurchfresser/hhz written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Lurchfresser/hhz on toolchain f3d95de532264a1215023baa665c0028aecf74b1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f3d95de532264a1215023baa665c0028aecf74b1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Lurchfresser/hhz 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" "+f3d95de532264a1215023baa665c0028aecf74b1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded gzip-header v1.0.0
[INFO] [stderr]   Downloaded thread-id v3.3.0
[INFO] [stderr]   Downloaded simple-logging v2.0.2
[INFO] [stderr]   Downloaded serde_with_macros v3.13.0
[INFO] [stderr]   Downloaded chessie_types v2.0.0
[INFO] [stderr]   Downloaded comma_serde_urlencoded v0.8.1
[INFO] [stderr]   Downloaded vampirc-uci v0.11.1
[INFO] [stderr]   Downloaded rouille v3.6.2
[INFO] [stderr]   Downloaded serde_with v3.13.0
[INFO] [stderr]   Downloaded chessie v2.0.0
[INFO] [stderr]   Downloaded webpki-roots v1.0.0
[INFO] [stderr]   Downloaded rustls v0.23.28
[INFO] [stderr]   Downloaded brotli v3.5.0
[INFO] [stderr]   Downloaded licheszter v0.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+f3d95de532264a1215023baa665c0028aecf74b1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 379261d1d42d95d02f0778436e43fc8daa269d27266d74ae8d0ce3d4a043d28b
[INFO] running `Command { std: "docker" "start" "-a" "379261d1d42d95d02f0778436e43fc8daa269d27266d74ae8d0ce3d4a043d28b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "379261d1d42d95d02f0778436e43fc8daa269d27266d74ae8d0ce3d4a043d28b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "379261d1d42d95d02f0778436e43fc8daa269d27266d74ae8d0ce3d4a043d28b", kill_on_drop: false }`
[INFO] [stdout] 379261d1d42d95d02f0778436e43fc8daa269d27266d74ae8d0ce3d4a043d28b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+f3d95de532264a1215023baa665c0028aecf74b1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c344af37e7902eb96b9516b524c52e99684b3630e5035b8057c1eca81d6f88fa
[INFO] running `Command { std: "docker" "start" "-a" "c344af37e7902eb96b9516b524c52e99684b3630e5035b8057c1eca81d6f88fa", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.173
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hhz v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking bytemuck v1.23.1
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]     Checking simple-logging v2.0.2
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand`
[INFO] [stdout]    --> src/tt_table.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     use rand::distr::Distribution;
[INFO] [stdout]     |         ^^^^ use of unresolved module or unlinked crate `rand`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand`
[INFO] [stdout]    --> src/tt_table.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     use rand::distr::Uniform;
[INFO] [stdout]     |         ^^^^ use of unresolved module or unlinked crate `rand`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rand`
[INFO] [stdout]    --> src/tt_table.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |     use rand::{Rng, rng};
[INFO] [stdout]     |         ^^^^ use of unresolved module or unlinked crate `rand`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1525:25
[INFO] [stdout]      |
[INFO] [stdout] 1521 |               let mut board =
[INFO] [stdout]      |                   --------- expected due to the type of this binding
[INFO] [stdout] 1522 | /                 Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1")
[INFO] [stdout] 1523 | |                     .unwrap();
[INFO] [stdout]      | |_____________________________- expected due to this value
[INFO] [stdout] 1524 |               for uci_move in *moves {
[INFO] [stdout] 1525 |                   board = board.make_uci_move_temp(uci_move);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rand`
[INFO] [stdout]     --> src/move_gen.rs:1579:32
[INFO] [stdout]      |
[INFO] [stdout] 1579 |             let random_index = rand::random::<usize>() % moves.len();
[INFO] [stdout]      |                                ^^^^ use of unresolved module or unlinked crate `rand`
[INFO] [stdout]      |
[INFO] [stdout]      = help: if you wanted to use a crate named `rand`, use `cargo add rand` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phase`
[INFO] [stdout]    --> src/eval.rs:146:54
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn pawn_eval(board: &Board, config: &EvalConfig, phase: f32) -> i16 {
[INFO] [stdout]     |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_phase`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `calculate_new_zobrist_hash` found for struct `board::Board` in the current scope
[INFO] [stdout]     --> src/move_gen.rs:1582:41
[INFO] [stdout]      |
[INFO] [stdout] 1582 |             let calculated_hash = board.calculate_new_zobrist_hash(random_move);
[INFO] [stdout]      |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `board::Board`
[INFO] [stdout]      |
[INFO] [stdout]     ::: src/board.rs:97:1
[INFO] [stdout]      |
[INFO] [stdout]   97 | pub struct Board {
[INFO] [stdout]      | ---------------- method `calculate_new_zobrist_hash` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1617:17
[INFO] [stdout]      |
[INFO] [stdout] 1613 |         let mut board = Board::from_fen(fen).unwrap();
[INFO] [stdout]      |                         ----------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1617 |         board = board.make_uci_move_temp("b1a1");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1618:17
[INFO] [stdout]      |
[INFO] [stdout] 1613 |         let mut board = Board::from_fen(fen).unwrap();
[INFO] [stdout]      |                         ----------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1618 |         board = board.make_uci_move_temp("b8a6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1619:17
[INFO] [stdout]      |
[INFO] [stdout] 1613 |         let mut board = Board::from_fen(fen).unwrap();
[INFO] [stdout]      |                         ----------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1619 |         board = board.make_uci_move_temp("a1b1");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1620:17
[INFO] [stdout]      |
[INFO] [stdout] 1613 |         let mut board = Board::from_fen(fen).unwrap();
[INFO] [stdout]      |                         ----------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1620 |         board = board.make_uci_move_temp("a6b8");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1635:17
[INFO] [stdout]      |
[INFO] [stdout] 1631 |         let mut board = Board::from_fen(fen).unwrap();
[INFO] [stdout]      |                         ----------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1635 |         board = board.make_uci_move_temp("g1f3");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1636:17
[INFO] [stdout]      |
[INFO] [stdout] 1631 |         let mut board = Board::from_fen(fen).unwrap();
[INFO] [stdout]      |                         ----------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1636 |         board = board.make_uci_move_temp("g8f6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1637:17
[INFO] [stdout]      |
[INFO] [stdout] 1631 |         let mut board = Board::from_fen(fen).unwrap();
[INFO] [stdout]      |                         ----------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1637 |         board = board.make_uci_move_temp("f3g1");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1638:17
[INFO] [stdout]      |
[INFO] [stdout] 1631 |         let mut board = Board::from_fen(fen).unwrap();
[INFO] [stdout]      |                         ----------------------------- expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1638 |         board = board.make_uci_move_temp("f6g8");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1651:18
[INFO] [stdout]      |
[INFO] [stdout] 1649 |         let mut board1 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1650 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1651 |         board1 = board1.make_uci_move_temp("e2e4");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1652:18
[INFO] [stdout]      |
[INFO] [stdout] 1649 |         let mut board1 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1650 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1651 |         board1 = board1.make_uci_move_temp("e2e4");
[INFO] [stdout] 1652 |         board1 = board1.make_uci_move_temp("e7e5");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1653:18
[INFO] [stdout]      |
[INFO] [stdout] 1649 |         let mut board1 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1650 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1653 |         board1 = board1.make_uci_move_temp("g1f3");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1654:18
[INFO] [stdout]      |
[INFO] [stdout] 1649 |         let mut board1 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1650 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1654 |         board1 = board1.make_uci_move_temp("b8c6");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1659:18
[INFO] [stdout]      |
[INFO] [stdout] 1657 |         let mut board2 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1658 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1659 |         board2 = board2.make_uci_move_temp("g1f3");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1660:18
[INFO] [stdout]      |
[INFO] [stdout] 1657 |         let mut board2 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1658 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1659 |         board2 = board2.make_uci_move_temp("g1f3");
[INFO] [stdout] 1660 |         board2 = board2.make_uci_move_temp("b8c6");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1661:18
[INFO] [stdout]      |
[INFO] [stdout] 1657 |         let mut board2 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1658 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1661 |         board2 = board2.make_uci_move_temp("e2e4");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1662:18
[INFO] [stdout]      |
[INFO] [stdout] 1657 |         let mut board2 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1658 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1662 |         board2 = board2.make_uci_move_temp("e7e5");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1674:17
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let mut path1 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1673 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1674 |         path1 = path1.make_uci_move_temp("f2f4");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1675:17
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let mut path1 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1673 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1674 |         path1 = path1.make_uci_move_temp("f2f4");
[INFO] [stdout] 1675 |         path1 = path1.make_uci_move_temp("b8c6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1676:17
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let mut path1 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1673 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1676 |         path1 = path1.make_uci_move_temp("f4f5");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1677:17
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let mut path1 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1673 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1677 |         path1 = path1.make_uci_move_temp("e7e5");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1678:17
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let mut path1 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1673 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1678 |         path1 = path1.make_uci_move_temp("f5e6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1679:17
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let mut path1 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1673 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1679 |         path1 = path1.make_uci_move_temp("d7e6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1680:17
[INFO] [stdout]      |
[INFO] [stdout] 1672 |         let mut path1 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1673 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1680 |         path1 = path1.make_uci_move_temp("e1f2");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1684:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1684 |         path2 = path2.make_uci_move_temp("f2f4");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1685:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1684 |         path2 = path2.make_uci_move_temp("f2f4");
[INFO] [stdout] 1685 |         path2 = path2.make_uci_move_temp("b8c6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1686:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1686 |         path2 = path2.make_uci_move_temp("e1f2");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1687:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1687 |         path2 = path2.make_uci_move_temp("e7e6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1688:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1688 |         path2 = path2.make_uci_move_temp("f4f5");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1689:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1689 |         path2 = path2.make_uci_move_temp("d8g5");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1690:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1690 |         path2 = path2.make_uci_move_temp("f5e6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1691:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1691 |         path2 = path2.make_uci_move_temp("d7e6");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1692:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1692 |         path2 = path2.make_uci_move_temp("g1f3");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1693:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1693 |         path2 = path2.make_uci_move_temp("g5d8");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1694:17
[INFO] [stdout]      |
[INFO] [stdout] 1682 |         let mut path2 =
[INFO] [stdout]      |             --------- expected due to the type of this binding
[INFO] [stdout] 1683 |             Board::from_fen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] ...
[INFO] [stdout] 1694 |         path2 = path2.make_uci_move_temp("f3g1");
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `specs`
[INFO] [stdout]   --> src/bot.rs:78:40
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     BotCommand::Search(specs) => {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_specs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moves_to_go`
[INFO] [stdout]    --> src/bot.rs:125:30
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 moves_to_go: moves_to_go,
[INFO] [stdout]     |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_moves_to_go`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1707:18
[INFO] [stdout]      |
[INFO] [stdout] 1705 |         let mut board1 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1706 |             Board::from_fen("rnbqkbnr/pP1ppppp/8/8/8/8/PPPP1PPP/RNB1KBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------ expected due to this value
[INFO] [stdout] 1707 |         board1 = board1.make_uci_move_temp("b7a8q");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]     --> src/move_gen.rs:1713:18
[INFO] [stdout]      |
[INFO] [stdout] 1711 |         let mut board2 =
[INFO] [stdout]      |             ---------- expected due to the type of this binding
[INFO] [stdout] 1712 |             Board::from_fen("rnbqkbnr/p2ppppp/8/8/4Q3/8/PPPP1PPP/RNB1KBNR w KQkq - 0 1").unwrap();
[INFO] [stdout]      |             ------------------------------------------------------------------------------------- expected due to this value
[INFO] [stdout] 1713 |         board2 = board2.make_uci_move_temp("e4a8");
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Board`, found `(Board, bool)`
[INFO] [stdout]      |
[INFO] [stdout]      = note: expected struct `board::Board`
[INFO] [stdout]                  found tuple `(board::Board, bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `white_time:` in this pattern is redundant
[INFO] [stdout]    --> src/bot.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 white_time: white_time,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `white_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `black_time:` in this pattern is redundant
[INFO] [stdout]    --> src/bot.rs:122:17
[INFO] [stdout]     |
[INFO] [stdout] 122 |                 black_time: black_time,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `black_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `white_increment:` in this pattern is redundant
[INFO] [stdout]    --> src/bot.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 white_increment: white_increment,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `white_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `black_increment:` in this pattern is redundant
[INFO] [stdout]    --> src/bot.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 black_increment: black_increment,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `black_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `moves_to_go:` in this pattern is redundant
[INFO] [stdout]    --> src/bot.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 moves_to_go: moves_to_go,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `moves_to_go`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 7 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tt_table.rs:213:25
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let entry = TT_Entry::new(zobrist_hash, depth, eval, flag);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^--------------------------------- three arguments of type `moves::Move`, `u8`, and `u8` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/tt_table.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  52 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |         best_move: Move,
[INFO] [stdout]     |         ---------------
[INFO] [stdout]  58 |         halfmove_clock: u8,
[INFO] [stdout]     |         ------------------
[INFO] [stdout]  59 |         num_resetting_moves: u8,
[INFO] [stdout]     |         -----------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let entry = TT_Entry::new(zobrist_hash, depth, eval, flag, /* moves::Move */, /* u8 */, /* u8 */);
[INFO] [stdout]     |                                                                      +++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated item named `TT_INFO_MASK` found for struct `tt_table::TT_Entry` in the current scope
[INFO] [stdout]    --> src/tt_table.rs:220:43
[INFO] [stdout]     |
[INFO] [stdout]  15 | pub struct TT_Entry {
[INFO] [stdout]     | ------------------- associated item `TT_INFO_MASK` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 220 |                 zobrist_hash & !TT_Entry::TT_INFO_MASK,
[INFO] [stdout]     |                                           ^^^^^^^^^^^^ associated item not found in `tt_table::TT_Entry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 7 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/tt_table.rs:244:22
[INFO] [stdout]     |
[INFO] [stdout] 244 |             tt_table.insert(zobrist_hash, eval, depth, flag);
[INFO] [stdout]     |                      ^^^^^^--------------------------------- three arguments of type `moves::Move`, `u8`, and `u8` are missing
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> src/tt_table.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub fn insert(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |         best_move: Move, // Now takes the Move struct directly
[INFO] [stdout]     |         ---------------
[INFO] [stdout] 159 |         halfmove_clock: u8,
[INFO] [stdout]     |         ------------------
[INFO] [stdout] 160 |         //TODO: overflow
[INFO] [stdout] 161 |         num_resetting_moves: u8,
[INFO] [stdout]     |         -----------------------
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 244 |             tt_table.insert(zobrist_hash, eval, depth, flag, /* moves::Move */, /* u8 */, /* u8 */);
[INFO] [stdout]     |                                                            +++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `phase`
[INFO] [stdout]    --> src/eval.rs:146:54
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn pawn_eval(board: &Board, config: &EvalConfig, phase: f32) -> i16 {
[INFO] [stdout]     |                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_phase`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `dotenv`
[INFO] [stdout]  --> src/bin/lichess.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dotenv::dotenv;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `dotenv`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `dotenv`, use `cargo add dotenv` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]  --> src/bin/lichess.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use licheszter::models::game::{Color as LichessColor, GameEventInfo, GameStatus};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]  --> src/bin/lichess.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use licheszter::{client::Licheszter, models::board::BoardState};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures_util`
[INFO] [stdout]  --> src/bin/lichess.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::{Mutex, mpsc::Receiver as TokioReceiver};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::spawn;
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::task;
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:16:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[tokio::main]
[INFO] [stdout]    |   ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `,`
[INFO] [stdout]   --> src/bin/play_self.rs:15:68
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let next_move = search_entry(&board, 3, /* &mut TT_Table */, /* &mut [u64; 100] */, /* u8 */ /* &Arc<AtomicBool> */).expect(
[INFO] [stdout]    |                                                                    ^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `,`
[INFO] [stdout]   --> src/bin/play_self.rs:15:68
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let next_move = search_entry(&board, 3, /* &mut TT_Table */, /* &mut [u64; 100] */, /* u8 */ /* &Arc<AtomicBool> */).expect(
[INFO] [stdout]    |                                                                    ^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `csv`
[INFO] [stdout]  --> src/bin/benchmark.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use csv::{Writer, WriterBuilder};
[INFO] [stdout]   |     ^^^ use of unresolved module or unlinked crate `csv`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `csv`, use `cargo add csv` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vampirc_uci`
[INFO] [stdout]   --> src/bin/uci.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use vampirc_uci::UciTimeControl;
[INFO] [stdout]    |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `vampirc_uci`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vampirc_uci`, use `cargo add vampirc_uci` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `vampirc_uci`
[INFO] [stdout]   --> src/bin/uci.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use vampirc_uci::{UciInfoAttribute, UciMessage, UciMove, UciPiece, UciSquare, parse_one};
[INFO] [stdout]    |     ^^^^^^^^^^^ use of unresolved module or unlinked crate `vampirc_uci`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `vampirc_uci`, use `cargo add vampirc_uci` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hhz::bit_boards::WHITE_SQUARES`
[INFO] [stdout]  --> src/bin/play_self.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use hhz::bit_boards::WHITE_SQUARES;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hhz::search::search_entry`
[INFO] [stdout]  --> src/bin/play_self.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hhz::search::search_entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `dotenv`
[INFO] [stdout]  --> src/bin/lichess.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use dotenv::dotenv;
[INFO] [stdout]   |     ^^^^^^ use of unresolved module or unlinked crate `dotenv`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `dotenv`, use `cargo add dotenv` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]  --> src/bin/lichess.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use licheszter::models::game::{Color as LichessColor, GameEventInfo, GameStatus};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]  --> src/bin/lichess.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use licheszter::{client::Licheszter, models::board::BoardState};
[INFO] [stdout]   |     ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `futures_util`
[INFO] [stdout]  --> src/bin/lichess.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures_util::StreamExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `futures_util`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `futures_util`, use `cargo add futures_util` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::sync::{Mutex, mpsc::Receiver as TokioReceiver};
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tokio::spawn;
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tokio::task;
[INFO] [stdout]    |     ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:16:3
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[tokio::main]
[INFO] [stdout]    |   ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `specs`
[INFO] [stdout]   --> src/bot.rs:78:40
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     BotCommand::Search(specs) => {
[INFO] [stdout]    |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_specs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `moves_to_go`
[INFO] [stdout]    --> src/bot.rs:125:30
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 moves_to_go: moves_to_go,
[INFO] [stdout]     |                              ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_moves_to_go`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]  --> src/bin/make_api.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rouille::input::json_input;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rouille`
[INFO] [stdout]  --> src/bin/make_api.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rouille::Request;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/bin/uci.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hhz::bit_boards::WHITE_SQUARES`
[INFO] [stdout]  --> src/bin/play_self.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use hhz::bit_boards::WHITE_SQUARES;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             licheszter::models::board::Event::GameStart { game } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hhz::search::search_entry`
[INFO] [stdout]  --> src/bin/play_self.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use hhz::search::search_entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rouille`
[INFO] [stdout]  --> src/bin/make_api.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rouille::{Response, router, try_or_400};
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/bin/make_api.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `chessie`
[INFO] [stdout]   --> src/bin/perf.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let chessie_board = chessie::Game::from_fen(fen)
[INFO] [stdout]    |                             ^^^^^^^ use of unresolved module or unlinked crate `chessie`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `chessie`, use `cargo add chessie` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/bin/benchmark.rs:85:13
[INFO] [stdout]     |
[INFO] [stdout]  85 |             SearchMetrics::new_measurement(FEATURE_NAME, depth, position_name, fen);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                      -------------  --- unexpected argument #4 of type `&str`
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 unexpected argument #3 of type `&str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/metrics.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn new_measurement(_feature_name: &'static str, _depth: u8) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout]  85 -             SearchMetrics::new_measurement(FEATURE_NAME, depth, position_name, fen);
[INFO] [stdout]  85 +             SearchMetrics::new_measurement(FEATURE_NAME, depth);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]   --> src/bin/test_fen_parsing.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |         let board = Board::from_fen(fen);
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             licheszter::models::board::Event::GameFinish { game } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "play_self" test) due to 1 previous error; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             licheszter::models::board::Event::Challenge { challenge } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/bin/perf.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     if (chessie_move_count != my_move_count) {
[INFO] [stdout]    |        ^                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -     if (chessie_move_count != my_move_count) {
[INFO] [stdout] 72 +     if chessie_move_count != my_move_count  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rouille`
[INFO] [stdout]  --> src/bin/hello_world.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rouille::Response;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             licheszter::models::board::Event::GameStart { game } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             licheszter::models::board::Event::ChallengeCanceled { challenge } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/bin/uci.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout]  73 | /     loop {
[INFO] [stdout]  74 | |         while let Ok(bot_message) = result_rx.try_recv() {
[INFO] [stdout]  75 | |             match bot_message {
[INFO] [stdout]  76 | |                 BotMessage::Info { depth, best_move } => {
[INFO] [stdout] ...   |
[INFO] [stdout] 166 | |         thread::sleep(std::time::Duration::from_millis(1));
[INFO] [stdout] 167 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 168 |       info!("--- Shutting down ---");
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `$crate::log` which comes from the expansion of the macro `info` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `depth` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |         .filter(|m| m.depth == target_depth)
[INFO] [stdout]     |                       ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]  --> src/bin/make_api.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rouille::input::json_input;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rouille`
[INFO] [stdout]  --> src/bin/make_api.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rouille::Request;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             licheszter::models::board::Event::GameFinish { game } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rouille`
[INFO] [stdout]  --> src/bin/make_api.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rouille::{Response, router, try_or_400};
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]  --> src/bin/make_api.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `serde`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `serde`, use `cargo add serde` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/uci.rs:201:37
[INFO] [stdout]     |
[INFO] [stdout] 201 |             .map_or(String::new(), |p| p
[INFO] [stdout]     |                                     ^  - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 201 |             .map_or(String::new(), |p: /* Type */| p
[INFO] [stdout]     |                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             licheszter::models::board::Event::ChallengeDeclined { challenge } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/perf.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let uci = _move.to_uci();
[INFO] [stdout]    |                   ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             licheszter::models::board::Event::Challenge { challenge } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `csv`
[INFO] [stdout]  --> src/bin/benchmark.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use csv::{Writer, WriterBuilder};
[INFO] [stdout]   |     ^^^ use of unresolved module or unlinked crate `csv`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `csv`, use `cargo add csv` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "play_self") due to 1 previous error; 2 warnings emitted
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `SearchMetricsData` in the current scope
[INFO] [stdout]    --> src/bin/benchmark.rs:132:43
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let mut avg_data = SearchMetricsData::new(FEATURE_NAME, target_depth, "AVERAGE", "AVERAGE");
[INFO] [stdout]     |                                           ^^^ function or associated item not found in `SearchMetricsData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_positions_generated` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:136:57
[INFO] [stdout]     |
[INFO] [stdout] 136 |         avg_data.normal_search_positions_generated += m.normal_search_positions_generated;
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_positions_generated` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:137:52
[INFO] [stdout]     |
[INFO] [stdout] 137 |         avg_data.q_search_positions_generated += m.q_search_positions_generated;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `rouille`
[INFO] [stdout]  --> src/bin/hello_world.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rouille::Response;
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_entries` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:138:45
[INFO] [stdout]     |
[INFO] [stdout] 138 |         avg_data.normal_search_entries += m.normal_search_entries;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_entries` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:139:40
[INFO] [stdout]     |
[INFO] [stdout] 139 |         avg_data.q_search_entries += m.q_search_entries;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `stand_pat_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 |         avg_data.stand_pat_cutoffs += m.stand_pat_cutoffs;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:141:45
[INFO] [stdout]     |
[INFO] [stdout] 141 |         avg_data.normal_search_cutoffs += m.normal_search_cutoffs;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:142:40
[INFO] [stdout]     |
[INFO] [stdout] 142 |         avg_data.q_search_cutoffs += m.q_search_cutoffs;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_best_move_first_count` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:143:59
[INFO] [stdout]     |
[INFO] [stdout] 143 |         avg_data.normal_search_best_move_first_count += m.normal_search_best_move_first_count;
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_best_move_first_count` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:144:54
[INFO] [stdout]     |
[INFO] [stdout] 144 |         avg_data.q_search_best_move_first_count += m.q_search_best_move_first_count;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let (async_sender, async_receiver) = tokio::sync::mpsc::channel::<BotMessage>(32);
[INFO] [stdout]    |                                          ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing one of these modules
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mpsc;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::mpsc;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `mpsc`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 65 -     let (async_sender, async_receiver) = tokio::sync::mpsc::channel::<BotMessage>(32);
[INFO] [stdout] 65 +     let (async_sender, async_receiver) = mpsc::channel::<BotMessage>(32);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_nodes_with_best_move` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:145:58
[INFO] [stdout]     |
[INFO] [stdout] 145 |         avg_data.normal_search_nodes_with_best_move += m.normal_search_nodes_with_best_move;
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_nodes_with_best_move` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:146:53
[INFO] [stdout]     |
[INFO] [stdout] 146 |         avg_data.q_search_nodes_with_best_move += m.q_search_nodes_with_best_move;
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_sum_of_cutoff_indices` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:147:59
[INFO] [stdout]     |
[INFO] [stdout] 147 |         avg_data.normal_search_sum_of_cutoff_indices += m.normal_search_sum_of_cutoff_indices;
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_sum_of_cutoff_indices` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:148:54
[INFO] [stdout]     |
[INFO] [stdout] 148 |         avg_data.q_search_sum_of_cutoff_indices += m.q_search_sum_of_cutoff_indices;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_tt_probes` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:149:47
[INFO] [stdout]     |
[INFO] [stdout] 149 |         avg_data.normal_search_tt_probes += m.normal_search_tt_probes;
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_tt_hits` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |         avg_data.normal_search_tt_hits += m.normal_search_tt_hits;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_tt_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:151:48
[INFO] [stdout]     |
[INFO] [stdout] 151 |         avg_data.normal_search_tt_cutoffs += m.normal_search_tt_cutoffs;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_tt_probes` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:152:42
[INFO] [stdout]     |
[INFO] [stdout] 152 |         avg_data.q_search_tt_probes += m.q_search_tt_probes;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_tt_hits` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:153:40
[INFO] [stdout]     |
[INFO] [stdout] 153 |         avg_data.q_search_tt_hits += m.q_search_tt_hits;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_tt_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:154:43
[INFO] [stdout]     |
[INFO] [stdout] 154 |         avg_data.q_search_tt_cutoffs += m.q_search_tt_cutoffs;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `pv_nodes_found_in_move_ordering` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:155:55
[INFO] [stdout]     |
[INFO] [stdout] 155 |         avg_data.pv_nodes_found_in_move_ordering += m.pv_nodes_found_in_move_ordering;
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `search_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:156:35
[INFO] [stdout]     |
[INFO] [stdout] 156 |         avg_data.search_time += m.search_time;
[INFO] [stdout]     |                                   ^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:157:37
[INFO] [stdout]     |
[INFO] [stdout] 157 |         avg_data.q_search_time += m.q_search_time;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `evaluation_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |         avg_data.evaluation_time += m.evaluation_time;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_move_gen_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:159:51
[INFO] [stdout]     |
[INFO] [stdout] 159 |         avg_data.normal_search_move_gen_time += m.normal_search_move_gen_time;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_move_gen_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:160:46
[INFO] [stdout]     |
[INFO] [stdout] 160 |         avg_data.q_search_move_gen_time += m.q_search_move_gen_time;
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_move_ordering_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:161:56
[INFO] [stdout]     |
[INFO] [stdout] 161 |         avg_data.normal_search_move_ordering_time += m.normal_search_move_ordering_time;
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_move_ordering_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:162:51
[INFO] [stdout]     |
[INFO] [stdout] 162 |         avg_data.q_search_move_ordering_time += m.q_search_move_ordering_time;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `total_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:163:34
[INFO] [stdout]     |
[INFO] [stdout] 163 |         avg_data.total_time += m.total_time;
[INFO] [stdout]     |                                  ^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `avg_normal_search_cutoff_index` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:166:54
[INFO] [stdout]     |
[INFO] [stdout] 166 |         avg_data.avg_normal_search_cutoff_index += m.avg_normal_search_cutoff_index;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "uci") due to 3 previous errors; 2 warnings emitted
[INFO] [stdout] error[E0609]: no field `avg_q_search_cutoff_index` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:167:49
[INFO] [stdout]     |
[INFO] [stdout] 167 |         avg_data.avg_q_search_cutoff_index += m.avg_q_search_cutoff_index;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (lib test) due to 45 previous errors; 3 warnings emitted
[INFO] [stdout] error[E0609]: no field `normal_search_best_move_first_pct` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:168:57
[INFO] [stdout]     |
[INFO] [stdout] 168 |         avg_data.normal_search_best_move_first_pct += m.normal_search_best_move_first_pct;
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_best_move_first_pct` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:169:52
[INFO] [stdout]     |
[INFO] [stdout] 169 |         avg_data.q_search_best_move_first_pct += m.q_search_best_move_first_pct;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `stand_pat_cutoff_pct` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:170:44
[INFO] [stdout]     |
[INFO] [stdout] 170 |         avg_data.stand_pat_cutoff_pct += m.stand_pat_cutoff_pct;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `chessie`
[INFO] [stdout]   --> src/bin/perf.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let chessie_board = chessie::Game::from_fen(fen)
[INFO] [stdout]    |                             ^^^^^^^ use of unresolved module or unlinked crate `chessie`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `chessie`, use `cargo add chessie` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver`
[INFO] [stdout]  --> src/bin/lichess.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |             licheszter::models::board::Event::ChallengeCanceled { challenge } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let client = binding.lock().await;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 30 |
[INFO] [stdout] 31 |     let mut events = client.connect().await.expect("Failed connect");
[INFO] [stdout]    |                      ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let client: /* Type */ = binding.lock().await;
[INFO] [stdout]    |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/perf.rs:60:56
[INFO] [stdout]     |
[INFO] [stdout]  60 |             let my_new_board = my_board.make_move_temp(*my_move);
[INFO] [stdout]     |                                         -------------- ^^^^^^^^ expected `&Move`, found `Move`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/move_gen.rs:734:12
[INFO] [stdout]     |
[INFO] [stdout] 734 |     pub fn make_move_temp(&self, _move: &Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: consider removing deref here
[INFO] [stdout]     |
[INFO] [stdout]  60 -             let my_new_board = my_board.make_move_temp(*my_move);
[INFO] [stdout]  60 +             let my_new_board = my_board.make_move_temp(my_move);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut events = client.connect().await.expect("Failed connect");
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:34:27
[INFO] [stdout]    |
[INFO] [stdout] 34 |     while let Ok(event) = events.next().await.unwrap() {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]   --> src/bin/lichess.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             licheszter::models::board::Event::ChallengeDeclined { challenge } => {
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `licheszter`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `licheszter`, use `cargo add licheszter` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]  --> src/bin/hello_world.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     rouille::start_server("0.0.0.0:42069", move |_request| {
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/bin/perf.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 |     if (chessie_move_count != my_move_count) {
[INFO] [stdout]    |        ^                                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 72 -     if (chessie_move_count != my_move_count) {
[INFO] [stdout] 72 +     if chessie_move_count != my_move_count  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 let client = client_guard.lock().await;
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 46 |                 let response = client.challenge_accept(&challenge.id);
[INFO] [stdout]    |                                ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 let client: /* Type */ = client_guard.lock().await;
[INFO] [stdout]    |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 2 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/bin/benchmark.rs:85:13
[INFO] [stdout]     |
[INFO] [stdout]  85 |             SearchMetrics::new_measurement(FEATURE_NAME, depth, position_name, fen);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                      -------------  --- unexpected argument #4 of type `&str`
[INFO] [stdout]     |                                                                 |
[INFO] [stdout]     |                                                                 unexpected argument #3 of type `&str`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/metrics.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 |     pub fn new_measurement(_feature_name: &'static str, _depth: u8) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra arguments
[INFO] [stdout]     |
[INFO] [stdout]  85 -             SearchMetrics::new_measurement(FEATURE_NAME, depth, position_name, fen);
[INFO] [stdout]  85 +             SearchMetrics::new_measurement(FEATURE_NAME, depth);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0432, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> src/bin/lichess.rs:65:42
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let (async_sender, async_receiver) = tokio::sync::mpsc::channel::<BotMessage>(32);
[INFO] [stdout]    |                                          ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] help: consider importing one of these modules
[INFO] [stdout]    |
[INFO] [stdout]  1 + use crate::mpsc;
[INFO] [stdout]    |
[INFO] [stdout]  1 + use std::sync::mpsc;
[INFO] [stdout]    |
[INFO] [stdout] help: if you import `mpsc`, refer to it directly
[INFO] [stdout]    |
[INFO] [stdout] 65 -     let (async_sender, async_receiver) = tokio::sync::mpsc::channel::<BotMessage>(32);
[INFO] [stdout] 65 +     let (async_sender, async_receiver) = mpsc::channel::<BotMessage>(32);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |             if async_sender.blocking_send(bot_message).is_err() {
[INFO] [stdout]    |                ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/lichess.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  99 |     let client = client_guard.lock().await;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 100 |     let mut game_stream = client.bot_game_connect(&game.id).await.unwrap();
[INFO] [stdout]     |                           ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]     |
[INFO] [stdout]  99 |     let client: /* Type */ = client_guard.lock().await;
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/lichess.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut game_stream = client.bot_game_connect(&game.id).await.unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `chessie`
[INFO] [stdout]   --> src/bin/perf.rs:26:47
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn recursive_check(depth: i32, chessie_board: chessie::Game, my_board: Board) {
[INFO] [stdout]    |                                               ^^^^^^^ use of unresolved module or unlinked crate `chessie`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `chessie`, use `cargo add chessie` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]  --> src/bin/hello_world.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     rouille::start_server("0.0.0.0:42069", move |_request| {
[INFO] [stdout]   |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver`
[INFO] [stdout]  --> src/bin/lichess.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::sync::mpsc::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/perf.rs:49:19
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let uci = _move.to_uci();
[INFO] [stdout]    |                   ^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/lichess.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let client = client_guard.lock().await;
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 200 |                 // You must .await the future returned by bot_play_move
[INFO] [stdout] 201 |                 match client.bot_play_move(&game.id, &uci_move, false).await {
[INFO] [stdout]     |                       ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let client: /* Type */ = client_guard.lock().await;
[INFO] [stdout]     |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "benchmark") due to 37 previous errors
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0752]: `main` function is not allowed to be `async`
[INFO] [stdout]   --> src/bin/lichess.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | async fn main() {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^ `main` function is not allowed to be `async`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let client = binding.lock().await;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 30 |
[INFO] [stdout] 31 |     let mut events = client.connect().await.expect("Failed connect");
[INFO] [stdout]    |                      ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 29 |     let client: /* Type */ = binding.lock().await;
[INFO] [stdout]    |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:31:22
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut events = client.connect().await.expect("Failed connect");
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:34:27
[INFO] [stdout]    |
[INFO] [stdout] 34 |     while let Ok(event) = events.next().await.unwrap() {
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "perf" test) due to 4 previous errors; 1 warning emitted
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433, E0752.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   --> src/bin/make_api.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     rouille::start_server(url, move |request| {
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `depth` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |         .filter(|m| m.depth == target_depth)
[INFO] [stdout]     |                       ^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]   --> src/bin/make_api.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     rouille::start_server(url, move |request| {
[INFO] [stdout]    |     ^^^^^^^ use of unresolved module or unlinked crate `rouille`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `rouille`, use `cargo add rouille` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:45:21
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 let client = client_guard.lock().await;
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 46 |                 let response = client.challenge_accept(&challenge.id);
[INFO] [stdout]    |                                ------ type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 let client: /* Type */ = client_guard.lock().await;
[INFO] [stdout]    |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "hello_world" test) due to 2 previous errors
[INFO] [stderr] error: could not compile `hhz` (bin "hello_world") due to 2 previous errors
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/lichess.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |             if async_sender.blocking_send(bot_message).is_err() {
[INFO] [stdout]    |                ^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/make_api.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout] 31 |     rouille::start_server(url, move |request| {
[INFO] [stdout]    |                                      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |             request.method(),
[INFO] [stdout]    |             ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 31 |     rouille::start_server(url, move |request: /* Type */| {
[INFO] [stdout]    |                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/lichess.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  99 |     let client = client_guard.lock().await;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 100 |     let mut game_stream = client.bot_game_connect(&game.id).await.unwrap();
[INFO] [stdout]     |                           ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]     |
[INFO] [stdout]  99 |     let client: /* Type */ = client_guard.lock().await;
[INFO] [stdout]     |               ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/bin/make_api.rs:31:38
[INFO] [stdout]    |
[INFO] [stdout] 31 |     rouille::start_server(url, move |request| {
[INFO] [stdout]    |                                      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |             request.method(),
[INFO] [stdout]    |             ------- type must be known at this point
[INFO] [stdout]    |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]    |
[INFO] [stdout] 31 |     rouille::start_server(url, move |request: /* Type */| {
[INFO] [stdout]    |                                             ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/lichess.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 |     let mut game_stream = client.bot_game_connect(&game.id).await.unwrap();
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 7 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/bin/make_api.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let next_move = search_entry(&new_board, depth);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^------------------- multiple arguments are missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/search.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn search_entry(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let next_move = search_entry(&new_board, depth, /* &mut TT_Table */, /* &mut [u64; 101] */, /* u8 */, /* &Arc<AtomicBool> */, /* &EvalConfig */);
[INFO] [stdout]    |                                                               +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 7 arguments but 2 arguments were supplied
[INFO] [stdout]   --> src/bin/make_api.rs:67:33
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let next_move = search_entry(&new_board, depth);
[INFO] [stdout]    |                                 ^^^^^^^^^^^^------------------- multiple arguments are missing
[INFO] [stdout]    |
[INFO] [stdout] note: function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/search.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub fn search_entry(
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 let next_move = search_entry(&new_board, depth, /* &mut TT_Table */, /* &mut [u64; 101] */, /* u8 */, /* &Arc<AtomicBool> */, /* &EvalConfig */);
[INFO] [stdout]    |                                                               +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `new` found for struct `SearchMetricsData` in the current scope
[INFO] [stdout]    --> src/bin/benchmark.rs:132:43
[INFO] [stdout]     |
[INFO] [stdout] 132 |     let mut avg_data = SearchMetricsData::new(FEATURE_NAME, target_depth, "AVERAGE", "AVERAGE");
[INFO] [stdout]     |                                           ^^^ function or associated item not found in `SearchMetricsData`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "lichess") due to 23 previous errors; 1 warning emitted
[INFO] [stdout] error[E0609]: no field `normal_search_positions_generated` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:136:57
[INFO] [stdout]     |
[INFO] [stdout] 136 |         avg_data.normal_search_positions_generated += m.normal_search_positions_generated;
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_positions_generated` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:137:52
[INFO] [stdout]     |
[INFO] [stdout] 137 |         avg_data.q_search_positions_generated += m.q_search_positions_generated;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_entries` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:138:45
[INFO] [stdout]     |
[INFO] [stdout] 138 |         avg_data.normal_search_entries += m.normal_search_entries;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_entries` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:139:40
[INFO] [stdout]     |
[INFO] [stdout] 139 |         avg_data.q_search_entries += m.q_search_entries;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `stand_pat_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:140:41
[INFO] [stdout]     |
[INFO] [stdout] 140 |         avg_data.stand_pat_cutoffs += m.stand_pat_cutoffs;
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/bin/lichess.rs:199:21
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let client = client_guard.lock().await;
[INFO] [stdout]     |                     ^^^^^^
[INFO] [stdout] 200 |                 // You must .await the future returned by bot_play_move
[INFO] [stdout] 201 |                 match client.bot_play_move(&game.id, &uci_move, false).await {
[INFO] [stdout]     |                       ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `client` an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 let client: /* Type */ = client_guard.lock().await;
[INFO] [stdout]     |                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:141:45
[INFO] [stdout]     |
[INFO] [stdout] 141 |         avg_data.normal_search_cutoffs += m.normal_search_cutoffs;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:142:40
[INFO] [stdout]     |
[INFO] [stdout] 142 |         avg_data.q_search_cutoffs += m.q_search_cutoffs;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_best_move_first_count` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:143:59
[INFO] [stdout]     |
[INFO] [stdout] 143 |         avg_data.normal_search_best_move_first_count += m.normal_search_best_move_first_count;
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_best_move_first_count` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:144:54
[INFO] [stdout]     |
[INFO] [stdout] 144 |         avg_data.q_search_best_move_first_count += m.q_search_best_move_first_count;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_nodes_with_best_move` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:145:58
[INFO] [stdout]     |
[INFO] [stdout] 145 |         avg_data.normal_search_nodes_with_best_move += m.normal_search_nodes_with_best_move;
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_nodes_with_best_move` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:146:53
[INFO] [stdout]     |
[INFO] [stdout] 146 |         avg_data.q_search_nodes_with_best_move += m.q_search_nodes_with_best_move;
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_sum_of_cutoff_indices` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:147:59
[INFO] [stdout]     |
[INFO] [stdout] 147 |         avg_data.normal_search_sum_of_cutoff_indices += m.normal_search_sum_of_cutoff_indices;
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_sum_of_cutoff_indices` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:148:54
[INFO] [stdout]     |
[INFO] [stdout] 148 |         avg_data.q_search_sum_of_cutoff_indices += m.q_search_sum_of_cutoff_indices;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_tt_probes` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:149:47
[INFO] [stdout]     |
[INFO] [stdout] 149 |         avg_data.normal_search_tt_probes += m.normal_search_tt_probes;
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_tt_hits` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:150:45
[INFO] [stdout]     |
[INFO] [stdout] 150 |         avg_data.normal_search_tt_hits += m.normal_search_tt_hits;
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_tt_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:151:48
[INFO] [stdout]     |
[INFO] [stdout] 151 |         avg_data.normal_search_tt_cutoffs += m.normal_search_tt_cutoffs;
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_tt_probes` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:152:42
[INFO] [stdout]     |
[INFO] [stdout] 152 |         avg_data.q_search_tt_probes += m.q_search_tt_probes;
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_tt_hits` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:153:40
[INFO] [stdout]     |
[INFO] [stdout] 153 |         avg_data.q_search_tt_hits += m.q_search_tt_hits;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_tt_cutoffs` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:154:43
[INFO] [stdout]     |
[INFO] [stdout] 154 |         avg_data.q_search_tt_cutoffs += m.q_search_tt_cutoffs;
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `pv_nodes_found_in_move_ordering` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:155:55
[INFO] [stdout]     |
[INFO] [stdout] 155 |         avg_data.pv_nodes_found_in_move_ordering += m.pv_nodes_found_in_move_ordering;
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `search_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:156:35
[INFO] [stdout]     |
[INFO] [stdout] 156 |         avg_data.search_time += m.search_time;
[INFO] [stdout]     |                                   ^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:157:37
[INFO] [stdout]     |
[INFO] [stdout] 157 |         avg_data.q_search_time += m.q_search_time;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `evaluation_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |         avg_data.evaluation_time += m.evaluation_time;
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_move_gen_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:159:51
[INFO] [stdout]     |
[INFO] [stdout] 159 |         avg_data.normal_search_move_gen_time += m.normal_search_move_gen_time;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_move_gen_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:160:46
[INFO] [stdout]     |
[INFO] [stdout] 160 |         avg_data.q_search_move_gen_time += m.q_search_move_gen_time;
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_move_ordering_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:161:56
[INFO] [stdout]     |
[INFO] [stdout] 161 |         avg_data.normal_search_move_ordering_time += m.normal_search_move_ordering_time;
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_move_ordering_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:162:51
[INFO] [stdout]     |
[INFO] [stdout] 162 |         avg_data.q_search_move_ordering_time += m.q_search_move_ordering_time;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `total_time` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:163:34
[INFO] [stdout]     |
[INFO] [stdout] 163 |         avg_data.total_time += m.total_time;
[INFO] [stdout]     |                                  ^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `avg_normal_search_cutoff_index` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:166:54
[INFO] [stdout]     |
[INFO] [stdout] 166 |         avg_data.avg_normal_search_cutoff_index += m.avg_normal_search_cutoff_index;
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `avg_q_search_cutoff_index` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:167:49
[INFO] [stdout]     |
[INFO] [stdout] 167 |         avg_data.avg_q_search_cutoff_index += m.avg_q_search_cutoff_index;
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `normal_search_best_move_first_pct` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:168:57
[INFO] [stdout]     |
[INFO] [stdout] 168 |         avg_data.normal_search_best_move_first_pct += m.normal_search_best_move_first_pct;
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `q_search_best_move_first_pct` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:169:52
[INFO] [stdout]     |
[INFO] [stdout] 169 |         avg_data.q_search_best_move_first_pct += m.q_search_best_move_first_pct;
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/perf.rs:60:56
[INFO] [stdout]     |
[INFO] [stdout]  60 |             let my_new_board = my_board.make_move_temp(*my_move);
[INFO] [stdout]     |                                         -------------- ^^^^^^^^ expected `&Move`, found `Move`
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/move_gen.rs:734:12
[INFO] [stdout]     |
[INFO] [stdout] 734 |     pub fn make_move_temp(&self, _move: &Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: consider removing deref here
[INFO] [stdout]     |
[INFO] [stdout]  60 -             let my_new_board = my_board.make_move_temp(*my_move);
[INFO] [stdout]  60 +             let my_new_board = my_board.make_move_temp(my_move);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `stand_pat_cutoff_pct` on type `&&SearchMetricsData`
[INFO] [stdout]    --> src/bin/benchmark.rs:170:44
[INFO] [stdout]     |
[INFO] [stdout] 170 |         avg_data.stand_pat_cutoff_pct += m.stand_pat_cutoff_pct;
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `chessie`
[INFO] [stdout]   --> src/bin/perf.rs:26:47
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn recursive_check(depth: i32, chessie_board: chessie::Game, my_board: Board) {
[INFO] [stdout]    |                                               ^^^^^^^ use of unresolved module or unlinked crate `chessie`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `chessie`, use `cargo add chessie` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0308, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/make_api.rs:70:21
[INFO] [stdout]     |
[INFO] [stdout]  69 |                 let after_my_move = new_board.make_move_temp(
[INFO] [stdout]     |                                               -------------- arguments to this method are incorrect
[INFO] [stdout]  70 |                     next_move.expect("No move found, maybe stalemate or checkmate?"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Move`, found `Move`
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/move_gen.rs:734:12
[INFO] [stdout]     |
[INFO] [stdout] 734 |     pub fn make_move_temp(&self, _move: &Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout]  70 |                     &next_move.expect("No move found, maybe stalemate or checkmate?"),
[INFO] [stdout]     |                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/make_api.rs:70:21
[INFO] [stdout]     |
[INFO] [stdout]  69 |                 let after_my_move = new_board.make_move_temp(
[INFO] [stdout]     |                                               -------------- arguments to this method are incorrect
[INFO] [stdout]  70 |                     next_move.expect("No move found, maybe stalemate or checkmate?"),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Move`, found `Move`
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/move_gen.rs:734:12
[INFO] [stdout]     |
[INFO] [stdout] 734 |     pub fn make_move_temp(&self, _move: &Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout]  70 |                     &next_move.expect("No move found, maybe stalemate or checkmate?"),
[INFO] [stdout]     |                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "lichess" test) due to 22 previous errors; 1 warning emitted
[INFO] [stdout] Some errors have detailed explanations: E0061, E0432, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "perf") due to 4 previous errors; 1 warning emitted
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/make_api.rs:109:46
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let new_board = old_board.make_move_temp(requested_move);
[INFO] [stdout]     |                               -------------- ^^^^^^^^^^^^^^ expected `&Move`, found `Move`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/move_gen.rs:734:12
[INFO] [stdout]     |
[INFO] [stdout] 734 |     pub fn make_move_temp(&self, _move: &Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let new_board = old_board.make_move_temp(&requested_move);
[INFO] [stdout]     |                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 7 arguments but 2 arguments were supplied
[INFO] [stdout]    --> src/bin/make_api.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let next_move = search_entry(&new_board, depth);
[INFO] [stdout]     |                     ^^^^^^^^^^^^------------------- multiple arguments are missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/search.rs:18:8
[INFO] [stdout]     |
[INFO] [stdout]  18 | pub fn search_entry(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let next_move = search_entry(&new_board, depth, /* &mut TT_Table */, /* &mut [u64; 101] */, /* u8 */, /* &Arc<AtomicBool> */, /* &EvalConfig */);
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/make_api.rs:109:46
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let new_board = old_board.make_move_temp(requested_move);
[INFO] [stdout]     |                               -------------- ^^^^^^^^^^^^^^ expected `&Move`, found `Move`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/move_gen.rs:734:12
[INFO] [stdout]     |
[INFO] [stdout] 734 |     pub fn make_move_temp(&self, _move: &Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let new_board = old_board.make_move_temp(&requested_move);
[INFO] [stdout]     |                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 7 arguments but 2 arguments were supplied
[INFO] [stdout]    --> src/bin/make_api.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let next_move = search_entry(&new_board, depth);
[INFO] [stdout]     |                     ^^^^^^^^^^^^------------------- multiple arguments are missing
[INFO] [stdout]     |
[INFO] [stdout] note: function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/search.rs:18:8
[INFO] [stdout]     |
[INFO] [stdout]  18 | pub fn search_entry(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 124 |     let next_move = search_entry(&new_board, depth, /* &mut TT_Table */, /* &mut [u64; 101] */, /* u8 */, /* &Arc<AtomicBool> */, /* &EvalConfig */);
[INFO] [stdout]     |                                                   +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/make_api.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |         new_board.make_move_temp(next_move.expect("No move found, maybe stalemate or checkmate?"));
[INFO] [stdout]     |                   -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Move`, found `Move`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/move_gen.rs:734:12
[INFO] [stdout]     |
[INFO] [stdout] 734 |     pub fn make_move_temp(&self, _move: &Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 127 |         new_board.make_move_temp(&next_move.expect("No move found, maybe stalemate or checkmate?"));
[INFO] [stdout]     |                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "benchmark" test) due to 37 previous errors
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/bin/make_api.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |         new_board.make_move_temp(next_move.expect("No move found, maybe stalemate or checkmate?"));
[INFO] [stdout]     |                   -------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&Move`, found `Move`
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   arguments to this method are incorrect
[INFO] [stdout]     |
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/move_gen.rs:734:12
[INFO] [stdout]     |
[INFO] [stdout] 734 |     pub fn make_move_temp(&self, _move: &Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 127 |         new_board.make_move_temp(&next_move.expect("No move found, maybe stalemate or checkmate?"));
[INFO] [stdout]     |                                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0282, E0308, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0282, E0308, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hhz` (bin "make_api") due to 11 previous errors
[INFO] [stderr] error: could not compile `hhz` (bin "make_api" test) due to 11 previous errors
[INFO] running `Command { std: "docker" "inspect" "c344af37e7902eb96b9516b524c52e99684b3630e5035b8057c1eca81d6f88fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c344af37e7902eb96b9516b524c52e99684b3630e5035b8057c1eca81d6f88fa", kill_on_drop: false }`
[INFO] [stdout] c344af37e7902eb96b9516b524c52e99684b3630e5035b8057c1eca81d6f88fa
