[INFO] fetching crate alcibiades 0.3.0...
[INFO] testing alcibiades-0.3.0 against 1.76.0 for beta-1.77-1
[INFO] extracting crate alcibiades 0.3.0 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate alcibiades 0.3.0 on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate alcibiades 0.3.0
[INFO] finished tweaking crates.io crate alcibiades 0.3.0
[INFO] tweaked toml for crates.io crate alcibiades 0.3.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand v0.3.23
[INFO] [stderr]   Downloaded ucd-util v0.1.10
[INFO] [stderr]   Downloaded lazy_static v0.2.11
[INFO] [stderr]   Downloaded aho-corasick v0.6.10
[INFO] [stderr]   Downloaded thread_local v0.3.6
[INFO] [stderr]   Downloaded utf8-ranges v1.0.5
[INFO] [stderr]   Downloaded regex v0.2.11
[INFO] [stderr]   Downloaded regex-syntax v0.5.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7ef1a214d90065b1b377d353eb63bf9830419fe088522d0e5201fea506c5849c
[INFO] running `Command { std: "docker" "start" "-a" "7ef1a214d90065b1b377d353eb63bf9830419fe088522d0e5201fea506c5849c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7ef1a214d90065b1b377d353eb63bf9830419fe088522d0e5201fea506c5849c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ef1a214d90065b1b377d353eb63bf9830419fe088522d0e5201fea506c5849c", kill_on_drop: false }`
[INFO] [stdout] 7ef1a214d90065b1b377d353eb63bf9830419fe088522d0e5201fea506c5849c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c8947168e4d85f1b01bd093d2d85a6aa6a576bc81acbd95d498091d9d335469
[INFO] running `Command { std: "docker" "start" "-a" "2c8947168e4d85f1b01bd093d2d85a6aa6a576bc81acbd95d498091d9d335469", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling ucd-util v0.1.10
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling alcibiades v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let pieces = try!(parse_fen_piece_placement(fileds[0]));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let to_move = try!(parse_fen_active_color(fileds[1]));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let castling_rights = try!(parse_fen_castling_rights(fileds[2]));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:58:47
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let enpassant_file = if let Some(x) = try!(parse_fen_enpassant_square(fileds[3])) {
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let halfmove_clock = try!(fileds[4].parse::<u8>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let fullmove_number = try!(fileds[5].parse::<u16>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utils/notation.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         if let 1...9000 = fullmove_number {
[INFO] [stdout]    |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utils/notation.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |             n @ '1'...'8' => Token::EmptySquares(n.to_digit(9).unwrap()),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/stock/std_ttable.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |                          n @ 1...30 => n + 1,
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:226:26
[INFO] [stdout]     |
[INFO] [stdout] 226 |         if let Some(v) = try!(self.node_begin(alpha, beta, depth, last_move)) {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 try!(self.report_progress(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:246:22
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     -try!(self.run(-beta, -alpha, depth - 1, m))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:255:28
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     match -try!(self.run(-alpha - 1, -alpha, depth - 2, m)) {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         _ => -try!(self.run(-beta, -alpha, depth - 1, m)),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:373:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             try!(self.report_progress(result.searched_nodes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:425:30
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let value = -try!(self.run(-beta, -alpha, max(0, reduced_depth - 1), m));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/stock/std_search_node.rs:70:39
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut p: StdSearchNode<T> = try!(StdSearchNode::from_fen(fen));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:317:56
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let (board, halfmove_clock, fullmove_number) = try!(parse_fen(fen));
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:318:19
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let gen = try!(T::MoveGenerator::from_board(board));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/aspiration.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/multipv.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         } = try!(self.multipv.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 150 |         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout] 150 +         const WQ: usize = 1 << (WHITE << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 151 -         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout] 151 +         const WK: usize = 1 << (WHITE << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:153:27
[INFO] [stdout]     |
[INFO] [stdout] 153 |         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 153 -         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout] 153 +         const BQ: usize = 1 << (BLACK << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout] 154 +         const BK: usize = 1 << (BLACK << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/board.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 try!(f.write_str(s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let mut server = try!(Server::<E>::wait_for_hanshake());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(write!(writer, "id name {}\n", E::name()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         try!(write!(writer, "id author {}\n", E::author()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         try!(write!(writer, "uciok\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         try!(writer.flush());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if try!(reader.read_line(&mut line)) == 0 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |             try!(write!(writer,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:361:40
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 if let Ok(cmd) = match try!(reader.read_line(&mut line)) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:405:25
[INFO] [stdout]     |
[INFO] [stdout] 405 |                         try!(write!(writer, "readyok\n"));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:406:25
[INFO] [stdout]     |
[INFO] [stdout] 406 |                         try!(writer.flush());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |                 try!(writer.flush());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 | ...                   try!(write!(writer,
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...                   try!(write!(writer, "info"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:458:33
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   try!(write!(writer, "\n"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:456:37
[INFO] [stdout]     |
[INFO] [stdout] 456 | ...                   try!(write!(writer, " {} {}", info_type, data));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/lib.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / lazy_static! {
[INFO] [stdout] 128 | |     static ref CONFIGURATION: RwLock<HashMap<&'static str, String>> = RwLock::new(HashMap::new());
[INFO] [stdout] 129 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = ONCE_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = Once::new();
[INFO] [stdout]     |                                      ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = ONCE_INIT;
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = Once::new();
[INFO] [stdout]    |                                    ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/notation.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | /     lazy_static! {
[INFO] [stdout] 88 | |         static ref RE: Regex = Regex::new(r"^[a-h][1-8]$").unwrap();
[INFO] [stdout] 89 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/simple_search.rs:355:47
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/stock/std_move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/stock/std_move_generator.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |             evaluator: unsafe { uninitialized() },
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/std_time_manager.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / lazy_static! {
[INFO] [stdout] 176 | |     static ref AVG_SLOPE: RwLock<f64> = RwLock::new(0.7);
[INFO] [stdout] 177 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/deepening/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 | /         lazy_static! {
[INFO] [stdout] 161 | |             static ref RE: Regex = Regex::new(r"^TARGET_DEPTH=([-+]?\d+)$").unwrap();
[INFO] [stdout] 162 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/moves.rs:387:5
[INFO] [stdout]     |
[INFO] [stdout] 387 | /     lazy_static! {
[INFO] [stdout] 388 | |         static ref NOTATION: Vec<String> = (0..64).map(|i| format!("{}{}",
[INFO] [stdout] 389 | |             ["a", "b", "c", "d", "e", "f", "g", "h"][Board::file(i)],
[INFO] [stdout] 390 | |             ["1", "2", "3", "4", "5", "6", "7", "8"][Board::rank(i)])
[INFO] [stdout] 391 | |         ).collect();
[INFO] [stdout] 392 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | /         lazy_static! {
[INFO] [stdout] 301 | |             static ref RE: Regex = Regex::new(r"\buci(?:\s|$)").unwrap();
[INFO] [stdout] 302 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 | /     lazy_static! {
[INFO] [stdout] 491 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 492 | |             format!(r"\b({})\s*(?:\s(.*)|$)",
[INFO] [stdout] 493 | |                     "setoption|isready|ucinewgame|\
[INFO] [stdout] ...   |
[INFO] [stdout] 496 | |         ).unwrap();
[INFO] [stdout] 497 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:519:5
[INFO] [stdout]     |
[INFO] [stdout] 519 | /     lazy_static! {
[INFO] [stdout] 520 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 521 | |             r"^name\s+(\S.*?)(?:\s+value\s+(.*?))?\s*$").unwrap();
[INFO] [stdout] 522 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:536:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | /     lazy_static! {
[INFO] [stdout] 537 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 538 | |             format!(
[INFO] [stdout] 539 | |                 r"^(?:fen\s+(?P<fen>{})|startpos)(?:\s+moves(?P<moves>{}))?\s*$",
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |         ).unwrap();
[INFO] [stdout] 544 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:564:5
[INFO] [stdout]     |
[INFO] [stdout] 564 | /     lazy_static! {
[INFO] [stdout] 565 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 566 | |             format!(
[INFO] [stdout] 567 | |                 r"\b(?P<keyword>{})(?:\s+(?P<number>\d+)|(?P<moves>{}))?(?:\s+|$)",
[INFO] [stdout] ...   |
[INFO] [stdout] 572 | |         ).unwrap();
[INFO] [stdout] 573 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut FnMut(u64) -> bool,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut dyn FnMut(u64) -> bool,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine.rs:233:51
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:169:41
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut FnMut(u64) -> bool)
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut dyn FnMut(u64) -> bool)
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/stock/std_search_node.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search_node.rs:50:44
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/uci.rs:244:51
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>);
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 format!("too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 | |                         mem::align_of::<T>()));
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 172 ~                 "too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 ~                         mem::align_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 | /                 format!("too big transposition table entry: {} bytes",
[INFO] [stdout] 176 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 175 ~                 "too big transposition table entry: {} bytes",
[INFO] [stdout] 176 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | /                 format!("too small transposition table entry: {} bytes",
[INFO] [stdout] 179 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 178 ~                 "too small transposition table entry: {} bytes",
[INFO] [stdout] 179 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `bool` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/simple_search.rs:355:42
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: booleans must be either `true` or `false`
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Option<moves::Move>` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/option.rs:570:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this code causes undefined behavior when executed
[INFO] [stdout]     |                                                    help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[i16; 34]` does not permit being left uninitialized
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 82 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.29s
[INFO] running `Command { std: "docker" "inspect" "2c8947168e4d85f1b01bd093d2d85a6aa6a576bc81acbd95d498091d9d335469", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c8947168e4d85f1b01bd093d2d85a6aa6a576bc81acbd95d498091d9d335469", kill_on_drop: false }`
[INFO] [stdout] 2c8947168e4d85f1b01bd093d2d85a6aa6a576bc81acbd95d498091d9d335469
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8fddb994e5b83c6e6ffd73e023e6b293360c5a37fd0b7ade0b872ea5e8a33239
[INFO] running `Command { std: "docker" "start" "-a" "8fddb994e5b83c6e6ffd73e023e6b293360c5a37fd0b7ade0b872ea5e8a33239", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let pieces = try!(parse_fen_piece_placement(fileds[0]));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let to_move = try!(parse_fen_active_color(fileds[1]));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let castling_rights = try!(parse_fen_castling_rights(fileds[2]));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:58:47
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let enpassant_file = if let Some(x) = try!(parse_fen_enpassant_square(fileds[3])) {
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let halfmove_clock = try!(fileds[4].parse::<u8>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let fullmove_number = try!(fileds[5].parse::<u16>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utils/notation.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         if let 1...9000 = fullmove_number {
[INFO] [stdout]    |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utils/notation.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |             n @ '1'...'8' => Token::EmptySquares(n.to_digit(9).unwrap()),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/stock/std_ttable.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |                          n @ 1...30 => n + 1,
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:226:26
[INFO] [stdout]     |
[INFO] [stdout] 226 |         if let Some(v) = try!(self.node_begin(alpha, beta, depth, last_move)) {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 try!(self.report_progress(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:246:22
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     -try!(self.run(-beta, -alpha, depth - 1, m))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:255:28
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     match -try!(self.run(-alpha - 1, -alpha, depth - 2, m)) {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         _ => -try!(self.run(-beta, -alpha, depth - 1, m)),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:373:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             try!(self.report_progress(result.searched_nodes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:425:30
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let value = -try!(self.run(-beta, -alpha, max(0, reduced_depth - 1), m));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/stock/std_search_node.rs:70:39
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut p: StdSearchNode<T> = try!(StdSearchNode::from_fen(fen));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:317:56
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let (board, halfmove_clock, fullmove_number) = try!(parse_fen(fen));
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:318:19
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let gen = try!(T::MoveGenerator::from_board(board));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/aspiration.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/multipv.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         } = try!(self.multipv.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 150 |         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout] 150 +         const WQ: usize = 1 << (WHITE << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 151 -         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout] 151 +         const WK: usize = 1 << (WHITE << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:153:27
[INFO] [stdout]     |
[INFO] [stdout] 153 |         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 153 -         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout] 153 +         const BQ: usize = 1 << (BLACK << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout] 154 +         const BK: usize = 1 << (BLACK << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/board.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 try!(f.write_str(s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let mut server = try!(Server::<E>::wait_for_hanshake());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(write!(writer, "id name {}\n", E::name()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         try!(write!(writer, "id author {}\n", E::author()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         try!(write!(writer, "uciok\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         try!(writer.flush());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if try!(reader.read_line(&mut line)) == 0 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |             try!(write!(writer,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:361:40
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 if let Ok(cmd) = match try!(reader.read_line(&mut line)) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:405:25
[INFO] [stdout]     |
[INFO] [stdout] 405 |                         try!(write!(writer, "readyok\n"));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:406:25
[INFO] [stdout]     |
[INFO] [stdout] 406 |                         try!(writer.flush());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |                 try!(writer.flush());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 | ...                   try!(write!(writer,
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...                   try!(write!(writer, "info"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:458:33
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   try!(write!(writer, "\n"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:456:37
[INFO] [stdout]     |
[INFO] [stdout] 456 | ...                   try!(write!(writer, " {} {}", info_type, data));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/lib.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / lazy_static! {
[INFO] [stdout] 128 | |     static ref CONFIGURATION: RwLock<HashMap<&'static str, String>> = RwLock::new(HashMap::new());
[INFO] [stdout] 129 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = ONCE_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = Once::new();
[INFO] [stdout]     |                                      ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = ONCE_INIT;
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = Once::new();
[INFO] [stdout]    |                                    ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/notation.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | /     lazy_static! {
[INFO] [stdout] 88 | |         static ref RE: Regex = Regex::new(r"^[a-h][1-8]$").unwrap();
[INFO] [stdout] 89 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/simple_search.rs:355:47
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/stock/std_move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/stock/std_move_generator.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |             evaluator: unsafe { uninitialized() },
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/std_time_manager.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / lazy_static! {
[INFO] [stdout] 176 | |     static ref AVG_SLOPE: RwLock<f64> = RwLock::new(0.7);
[INFO] [stdout] 177 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/deepening/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 | /         lazy_static! {
[INFO] [stdout] 161 | |             static ref RE: Regex = Regex::new(r"^TARGET_DEPTH=([-+]?\d+)$").unwrap();
[INFO] [stdout] 162 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/moves.rs:387:5
[INFO] [stdout]     |
[INFO] [stdout] 387 | /     lazy_static! {
[INFO] [stdout] 388 | |         static ref NOTATION: Vec<String> = (0..64).map(|i| format!("{}{}",
[INFO] [stdout] 389 | |             ["a", "b", "c", "d", "e", "f", "g", "h"][Board::file(i)],
[INFO] [stdout] 390 | |             ["1", "2", "3", "4", "5", "6", "7", "8"][Board::rank(i)])
[INFO] [stdout] 391 | |         ).collect();
[INFO] [stdout] 392 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | /         lazy_static! {
[INFO] [stdout] 301 | |             static ref RE: Regex = Regex::new(r"\buci(?:\s|$)").unwrap();
[INFO] [stdout] 302 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 | /     lazy_static! {
[INFO] [stdout] 491 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 492 | |             format!(r"\b({})\s*(?:\s(.*)|$)",
[INFO] [stdout] 493 | |                     "setoption|isready|ucinewgame|\
[INFO] [stdout] ...   |
[INFO] [stdout] 496 | |         ).unwrap();
[INFO] [stdout] 497 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:519:5
[INFO] [stdout]     |
[INFO] [stdout] 519 | /     lazy_static! {
[INFO] [stdout] 520 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 521 | |             r"^name\s+(\S.*?)(?:\s+value\s+(.*?))?\s*$").unwrap();
[INFO] [stdout] 522 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:536:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | /     lazy_static! {
[INFO] [stdout] 537 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 538 | |             format!(
[INFO] [stdout] 539 | |                 r"^(?:fen\s+(?P<fen>{})|startpos)(?:\s+moves(?P<moves>{}))?\s*$",
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |         ).unwrap();
[INFO] [stdout] 544 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:564:5
[INFO] [stdout]     |
[INFO] [stdout] 564 | /     lazy_static! {
[INFO] [stdout] 565 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 566 | |             format!(
[INFO] [stdout] 567 | |                 r"\b(?P<keyword>{})(?:\s+(?P<number>\d+)|(?P<moves>{}))?(?:\s+|$)",
[INFO] [stdout] ...   |
[INFO] [stdout] 572 | |         ).unwrap();
[INFO] [stdout] 573 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut FnMut(u64) -> bool,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut dyn FnMut(u64) -> bool,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine.rs:233:51
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:169:41
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut FnMut(u64) -> bool)
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut dyn FnMut(u64) -> bool)
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/stock/std_search_node.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search_node.rs:50:44
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/uci.rs:244:51
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>);
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 format!("too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 | |                         mem::align_of::<T>()));
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 172 ~                 "too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 ~                         mem::align_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 | /                 format!("too big transposition table entry: {} bytes",
[INFO] [stdout] 176 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 175 ~                 "too big transposition table entry: {} bytes",
[INFO] [stdout] 176 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | /                 format!("too small transposition table entry: {} bytes",
[INFO] [stdout] 179 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 178 ~                 "too small transposition table entry: {} bytes",
[INFO] [stdout] 179 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `bool` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/simple_search.rs:355:42
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: booleans must be either `true` or `false`
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Option<moves::Move>` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/option.rs:570:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this code causes undefined behavior when executed
[INFO] [stdout]     |                                                    help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[i16; 34]` does not permit being left uninitialized
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling alcibiades v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 82 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let pieces = try!(parse_fen_piece_placement(fileds[0]));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let to_move = try!(parse_fen_active_color(fileds[1]));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let castling_rights = try!(parse_fen_castling_rights(fileds[2]));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:58:47
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let enpassant_file = if let Some(x) = try!(parse_fen_enpassant_square(fileds[3])) {
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let halfmove_clock = try!(fileds[4].parse::<u8>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let fullmove_number = try!(fileds[5].parse::<u16>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utils/notation.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         if let 1...9000 = fullmove_number {
[INFO] [stdout]    |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utils/notation.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |             n @ '1'...'8' => Token::EmptySquares(n.to_digit(9).unwrap()),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/stock/std_ttable.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |                          n @ 1...30 => n + 1,
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:226:26
[INFO] [stdout]     |
[INFO] [stdout] 226 |         if let Some(v) = try!(self.node_begin(alpha, beta, depth, last_move)) {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 try!(self.report_progress(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:246:22
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     -try!(self.run(-beta, -alpha, depth - 1, m))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:255:28
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     match -try!(self.run(-alpha - 1, -alpha, depth - 2, m)) {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         _ => -try!(self.run(-beta, -alpha, depth - 1, m)),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:373:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             try!(self.report_progress(result.searched_nodes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:425:30
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let value = -try!(self.run(-beta, -alpha, max(0, reduced_depth - 1), m));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/stock/std_search_node.rs:70:39
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut p: StdSearchNode<T> = try!(StdSearchNode::from_fen(fen));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:317:56
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let (board, halfmove_clock, fullmove_number) = try!(parse_fen(fen));
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:318:19
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let gen = try!(T::MoveGenerator::from_board(board));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/stock/std_move_generator.rs:1253:42
[INFO] [stdout]      |
[INFO] [stdout] 1253 |             StdMoveGenerator::from_board(try!(Board::from_fen(fen)))
[INFO] [stdout]      |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/aspiration.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/multipv.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         } = try!(self.multipv.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 150 |         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout] 150 +         const WQ: usize = 1 << (WHITE << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 151 -         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout] 151 +         const WK: usize = 1 << (WHITE << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:153:27
[INFO] [stdout]     |
[INFO] [stdout] 153 |         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 153 -         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout] 153 +         const BQ: usize = 1 << (BLACK << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout] 154 +         const BK: usize = 1 << (BLACK << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/board.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 try!(f.write_str(s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let mut server = try!(Server::<E>::wait_for_hanshake());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(write!(writer, "id name {}\n", E::name()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         try!(write!(writer, "id author {}\n", E::author()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         try!(write!(writer, "uciok\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         try!(writer.flush());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if try!(reader.read_line(&mut line)) == 0 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |             try!(write!(writer,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:361:40
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 if let Ok(cmd) = match try!(reader.read_line(&mut line)) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:405:25
[INFO] [stdout]     |
[INFO] [stdout] 405 |                         try!(write!(writer, "readyok\n"));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:406:25
[INFO] [stdout]     |
[INFO] [stdout] 406 |                         try!(writer.flush());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |                 try!(writer.flush());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 | ...                   try!(write!(writer,
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...                   try!(write!(writer, "info"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:458:33
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   try!(write!(writer, "\n"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:456:37
[INFO] [stdout]     |
[INFO] [stdout] 456 | ...                   try!(write!(writer, " {} {}", info_type, data));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/lib.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / lazy_static! {
[INFO] [stdout] 128 | |     static ref CONFIGURATION: RwLock<HashMap<&'static str, String>> = RwLock::new(HashMap::new());
[INFO] [stdout] 129 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = ONCE_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = Once::new();
[INFO] [stdout]     |                                      ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = ONCE_INIT;
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = Once::new();
[INFO] [stdout]    |                                    ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/notation.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | /     lazy_static! {
[INFO] [stdout] 88 | |         static ref RE: Regex = Regex::new(r"^[a-h][1-8]$").unwrap();
[INFO] [stdout] 89 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/simple_search.rs:355:47
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/stock/std_move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/stock/std_move_generator.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |             evaluator: unsafe { uninitialized() },
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/std_time_manager.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / lazy_static! {
[INFO] [stdout] 176 | |     static ref AVG_SLOPE: RwLock<f64> = RwLock::new(0.7);
[INFO] [stdout] 177 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/deepening/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 | /         lazy_static! {
[INFO] [stdout] 161 | |             static ref RE: Regex = Regex::new(r"^TARGET_DEPTH=([-+]?\d+)$").unwrap();
[INFO] [stdout] 162 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/moves.rs:387:5
[INFO] [stdout]     |
[INFO] [stdout] 387 | /     lazy_static! {
[INFO] [stdout] 388 | |         static ref NOTATION: Vec<String> = (0..64).map(|i| format!("{}{}",
[INFO] [stdout] 389 | |             ["a", "b", "c", "d", "e", "f", "g", "h"][Board::file(i)],
[INFO] [stdout] 390 | |             ["1", "2", "3", "4", "5", "6", "7", "8"][Board::rank(i)])
[INFO] [stdout] 391 | |         ).collect();
[INFO] [stdout] 392 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | /         lazy_static! {
[INFO] [stdout] 301 | |             static ref RE: Regex = Regex::new(r"\buci(?:\s|$)").unwrap();
[INFO] [stdout] 302 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 | /     lazy_static! {
[INFO] [stdout] 491 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 492 | |             format!(r"\b({})\s*(?:\s(.*)|$)",
[INFO] [stdout] 493 | |                     "setoption|isready|ucinewgame|\
[INFO] [stdout] ...   |
[INFO] [stdout] 496 | |         ).unwrap();
[INFO] [stdout] 497 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:519:5
[INFO] [stdout]     |
[INFO] [stdout] 519 | /     lazy_static! {
[INFO] [stdout] 520 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 521 | |             r"^name\s+(\S.*?)(?:\s+value\s+(.*?))?\s*$").unwrap();
[INFO] [stdout] 522 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:536:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | /     lazy_static! {
[INFO] [stdout] 537 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 538 | |             format!(
[INFO] [stdout] 539 | |                 r"^(?:fen\s+(?P<fen>{})|startpos)(?:\s+moves(?P<moves>{}))?\s*$",
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |         ).unwrap();
[INFO] [stdout] 544 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:564:5
[INFO] [stdout]     |
[INFO] [stdout] 564 | /     lazy_static! {
[INFO] [stdout] 565 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 566 | |             format!(
[INFO] [stdout] 567 | |                 r"\b(?P<keyword>{})(?:\s+(?P<number>\d+)|(?P<moves>{}))?(?:\s+|$)",
[INFO] [stdout] ...   |
[INFO] [stdout] 572 | |         ).unwrap();
[INFO] [stdout] 573 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut FnMut(u64) -> bool,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut dyn FnMut(u64) -> bool,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine.rs:233:51
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:169:41
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut FnMut(u64) -> bool)
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut dyn FnMut(u64) -> bool)
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/stock/std_search_node.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search_node.rs:50:44
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/uci.rs:244:51
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>);
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/stock/std_ttable.rs:443:17
[INFO] [stdout]     |
[INFO] [stdout] 443 |             let mut record = b.get(0).as_mut().unwrap();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/stock/std_ttable.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let mut record = b.get(4).as_mut().unwrap();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 format!("too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 | |                         mem::align_of::<T>()));
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 172 ~                 "too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 ~                         mem::align_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 | /                 format!("too big transposition table entry: {} bytes",
[INFO] [stdout] 176 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 175 ~                 "too big transposition table entry: {} bytes",
[INFO] [stdout] 176 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | /                 format!("too small transposition table entry: {} bytes",
[INFO] [stdout] 179 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 178 ~                 "too small transposition table entry: {} bytes",
[INFO] [stdout] 179 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `bool` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/simple_search.rs:355:42
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: booleans must be either `true` or `false`
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Option<moves::Move>` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/option.rs:570:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this code causes undefined behavior when executed
[INFO] [stdout]     |                                                    help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[i16; 34]` does not permit being left uninitialized
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 85 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.36s
[INFO] running `Command { std: "docker" "inspect" "8fddb994e5b83c6e6ffd73e023e6b293360c5a37fd0b7ade0b872ea5e8a33239", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8fddb994e5b83c6e6ffd73e023e6b293360c5a37fd0b7ade0b872ea5e8a33239", kill_on_drop: false }`
[INFO] [stdout] 8fddb994e5b83c6e6ffd73e023e6b293360c5a37fd0b7ade0b872ea5e8a33239
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.76.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 13edcd08b315ea691f13677505d86f3811e3d4658fc8706e776b3a2a68644253
[INFO] running `Command { std: "docker" "start" "-a" "13edcd08b315ea691f13677505d86f3811e3d4658fc8706e776b3a2a68644253", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:55:22
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let pieces = try!(parse_fen_piece_placement(fileds[0]));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:56:23
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let to_move = try!(parse_fen_active_color(fileds[1]));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:57:31
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let castling_rights = try!(parse_fen_castling_rights(fileds[2]));
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:58:47
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let enpassant_file = if let Some(x) = try!(parse_fen_enpassant_square(fileds[3])) {
[INFO] [stderr]    |                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:67:30
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let halfmove_clock = try!(fileds[4].parse::<u8>().map_err(|_| IllegalBoard));
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:68:31
[INFO] [stderr]    |
[INFO] [stderr] 68 |         let fullmove_number = try!(fileds[5].parse::<u16>().map_err(|_| IllegalBoard));
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/utils/notation.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |         if let 1...9000 = fullmove_number {
[INFO] [stderr]    |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/utils/notation.rs:134:20
[INFO] [stderr]     |
[INFO] [stderr] 134 |             n @ '1'...'8' => Token::EmptySquares(n.to_digit(9).unwrap()),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/stock/std_ttable.rs:213:31
[INFO] [stderr]     |
[INFO] [stderr] 213 |                          n @ 1...30 => n + 1,
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:226:26
[INFO] [stderr]     |
[INFO] [stderr] 226 |         if let Some(v) = try!(self.node_begin(alpha, beta, depth, last_move)) {
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:238:17
[INFO] [stderr]     |
[INFO] [stderr] 238 |                 try!(self.report_progress(1));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:246:22
[INFO] [stderr]     |
[INFO] [stderr] 246 |                     -try!(self.run(-beta, -alpha, depth - 1, m))
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:255:28
[INFO] [stderr]     |
[INFO] [stderr] 255 |                     match -try!(self.run(-alpha - 1, -alpha, depth - 2, m)) {
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:257:31
[INFO] [stderr]     |
[INFO] [stderr] 257 |                         _ => -try!(self.run(-beta, -alpha, depth - 1, m)),
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:373:13
[INFO] [stderr]     |
[INFO] [stderr] 373 |             try!(self.report_progress(result.searched_nodes()));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:425:30
[INFO] [stderr]     |
[INFO] [stderr] 425 |                 let value = -try!(self.run(-beta, -alpha, max(0, reduced_depth - 1), m));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/stock/std_search_node.rs:70:39
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let mut p: StdSearchNode<T> = try!(StdSearchNode::from_fen(fen));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/std_search_node.rs:317:56
[INFO] [stderr]     |
[INFO] [stderr] 317 |         let (board, halfmove_clock, fullmove_number) = try!(parse_fen(fen));
[INFO] [stderr]     |                                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/std_search_node.rs:318:19
[INFO] [stderr]     |
[INFO] [stderr] 318 |         let gen = try!(T::MoveGenerator::from_board(board));
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/deepening/aspiration.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |         } = try!(self.searcher.try_recv_report());
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/deepening/multipv.rs:118:17
[INFO] [stderr]     |
[INFO] [stderr] 118 |             } = try!(self.searcher.try_recv_report());
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/deepening/mod.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |         } = try!(self.multipv.try_recv_report());
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:150:27
[INFO] [stderr]     |
[INFO] [stderr] 150 |         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stderr]     |                           ^                              ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 150 -         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stderr] 150 +         const WQ: usize = 1 << (WHITE << 1) << QUEENSIDE;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:151:27
[INFO] [stderr]     |
[INFO] [stderr] 151 |         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stderr]     |                           ^                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 151 -         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stderr] 151 +         const WK: usize = 1 << (WHITE << 1) << KINGSIDE;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:153:27
[INFO] [stderr]     |
[INFO] [stderr] 153 |         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stderr]     |                           ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 153 -         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stderr] 153 +         const BQ: usize = 1 << (BLACK << 1) << QUEENSIDE;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:154:27
[INFO] [stderr]     |
[INFO] [stderr] 154 |         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stderr]     |                           ^                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 154 -         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stderr] 154 +         const BK: usize = 1 << (BLACK << 1) << KINGSIDE;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/board.rs:189:17
[INFO] [stderr]     |
[INFO] [stderr] 189 |                 try!(f.write_str(s));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:280:22
[INFO] [stderr]     |
[INFO] [stderr] 280 |     let mut server = try!(Server::<E>::wait_for_hanshake());
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:313:9
[INFO] [stderr]     |
[INFO] [stderr] 313 |         try!(write!(writer, "id name {}\n", E::name()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:314:9
[INFO] [stderr]     |
[INFO] [stderr] 314 |         try!(write!(writer, "id author {}\n", E::author()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:342:9
[INFO] [stderr]     |
[INFO] [stderr] 342 |         try!(write!(writer, "uciok\n"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:343:9
[INFO] [stderr]     |
[INFO] [stderr] 343 |         try!(writer.flush());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:307:12
[INFO] [stderr]     |
[INFO] [stderr] 307 |         if try!(reader.read_line(&mut line)) == 0 {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:316:13
[INFO] [stderr]     |
[INFO] [stderr] 316 |             try!(write!(writer,
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:361:40
[INFO] [stderr]     |
[INFO] [stderr] 361 |                 if let Ok(cmd) = match try!(reader.read_line(&mut line)) {
[INFO] [stderr]     |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:405:25
[INFO] [stderr]     |
[INFO] [stderr] 405 |                         try!(write!(writer, "readyok\n"));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:406:25
[INFO] [stderr]     |
[INFO] [stderr] 406 |                         try!(writer.flush());
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:469:17
[INFO] [stderr]     |
[INFO] [stderr] 469 |                 try!(writer.flush());
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:444:29
[INFO] [stderr]     |
[INFO] [stderr] 444 | ...                   try!(write!(writer,
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:454:33
[INFO] [stderr]     |
[INFO] [stderr] 454 | ...                   try!(write!(writer, "info"));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:458:33
[INFO] [stderr]     |
[INFO] [stderr] 458 | ...                   try!(write!(writer, "\n"));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:456:37
[INFO] [stderr]     |
[INFO] [stderr] 456 | ...                   try!(write!(writer, " {} {}", info_type, data));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/lib.rs:127:1
[INFO] [stderr]     |
[INFO] [stderr] 127 | / lazy_static! {
[INFO] [stderr] 128 | |     static ref CONFIGURATION: RwLock<HashMap<&'static str, String>> = RwLock::new(HashMap::new());
[INFO] [stderr] 129 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/utils/board_geometry.rs:228:31
[INFO] [stderr]     |
[INFO] [stderr] 228 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stderr]     |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/utils/board_geometry.rs:229:38
[INFO] [stderr]     |
[INFO] [stderr] 229 |         static INIT_GEOMETRY: Once = ONCE_INIT;
[INFO] [stderr]     |                                      ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace the use of the deprecated constant
[INFO] [stderr]     |
[INFO] [stderr] 229 |         static INIT_GEOMETRY: Once = Once::new();
[INFO] [stderr]     |                                      ~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/utils/zobrist_arrays.rs:87:31
[INFO] [stderr]    |
[INFO] [stderr] 87 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/utils/zobrist_arrays.rs:88:36
[INFO] [stderr]    |
[INFO] [stderr] 88 |         static INIT_ARRAYS: Once = ONCE_INIT;
[INFO] [stderr]    |                                    ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated constant
[INFO] [stderr]    |
[INFO] [stderr] 88 |         static INIT_ARRAYS: Once = Once::new();
[INFO] [stderr]    |                                    ~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/utils/notation.rs:87:5
[INFO] [stderr]    |
[INFO] [stderr] 87 | /     lazy_static! {
[INFO] [stderr] 88 | |         static ref RE: Regex = Regex::new(r"^[a-h][1-8]$").unwrap();
[INFO] [stderr] 89 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/engine.rs:611:1
[INFO] [stderr]     |
[INFO] [stderr] 611 | / lazy_static! {
[INFO] [stderr] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stderr] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stderr] 614 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/simple_search.rs:355:47
[INFO] [stderr]     |
[INFO] [stderr] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]  --> src/stock/std_move_generator.rs:3:15
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::mem::uninitialized;
[INFO] [stderr]   |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/stock/std_move_generator.rs:37:33
[INFO] [stderr]    |
[INFO] [stderr] 37 |             evaluator: unsafe { uninitialized() },
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stderr]     |
[INFO] [stderr] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stderr]     |
[INFO] [stderr] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stderr]     |
[INFO] [stderr] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stderr]     |
[INFO] [stderr] 870 |             dest_sets = uninitialized();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/stock/std_time_manager.rs:175:1
[INFO] [stderr]     |
[INFO] [stderr] 175 | / lazy_static! {
[INFO] [stderr] 176 | |     static ref AVG_SLOPE: RwLock<f64> = RwLock::new(0.7);
[INFO] [stderr] 177 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/stock/deepening/mod.rs:160:9
[INFO] [stderr]     |
[INFO] [stderr] 160 | /         lazy_static! {
[INFO] [stderr] 161 | |             static ref RE: Regex = Regex::new(r"^TARGET_DEPTH=([-+]?\d+)$").unwrap();
[INFO] [stderr] 162 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/moves.rs:387:5
[INFO] [stderr]     |
[INFO] [stderr] 387 | /     lazy_static! {
[INFO] [stderr] 388 | |         static ref NOTATION: Vec<String> = (0..64).map(|i| format!("{}{}",
[INFO] [stderr] 389 | |             ["a", "b", "c", "d", "e", "f", "g", "h"][Board::file(i)],
[INFO] [stderr] 390 | |             ["1", "2", "3", "4", "5", "6", "7", "8"][Board::rank(i)])
[INFO] [stderr] 391 | |         ).collect();
[INFO] [stderr] 392 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]  --> src/move_generator.rs:3:15
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::mem::uninitialized;
[INFO] [stderr]   |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/move_generator.rs:206:41
[INFO] [stderr]     |
[INFO] [stderr] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:300:9
[INFO] [stderr]     |
[INFO] [stderr] 300 | /         lazy_static! {
[INFO] [stderr] 301 | |             static ref RE: Regex = Regex::new(r"\buci(?:\s|$)").unwrap();
[INFO] [stderr] 302 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:490:5
[INFO] [stderr]     |
[INFO] [stderr] 490 | /     lazy_static! {
[INFO] [stderr] 491 | |         static ref RE: Regex = Regex::new(
[INFO] [stderr] 492 | |             format!(r"\b({})\s*(?:\s(.*)|$)",
[INFO] [stderr] 493 | |                     "setoption|isready|ucinewgame|\
[INFO] [stderr] ...   |
[INFO] [stderr] 496 | |         ).unwrap();
[INFO] [stderr] 497 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:519:5
[INFO] [stderr]     |
[INFO] [stderr] 519 | /     lazy_static! {
[INFO] [stderr] 520 | |         static ref RE: Regex = Regex::new(
[INFO] [stderr] 521 | |             r"^name\s+(\S.*?)(?:\s+value\s+(.*?))?\s*$").unwrap();
[INFO] [stderr] 522 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:536:5
[INFO] [stderr]     |
[INFO] [stderr] 536 | /     lazy_static! {
[INFO] [stderr] 537 | |         static ref RE: Regex = Regex::new(
[INFO] [stderr] 538 | |             format!(
[INFO] [stderr] 539 | |                 r"^(?:fen\s+(?P<fen>{})|startpos)(?:\s+moves(?P<moves>{}))?\s*$",
[INFO] [stderr] ...   |
[INFO] [stderr] 543 | |         ).unwrap();
[INFO] [stderr] 544 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:564:5
[INFO] [stderr]     |
[INFO] [stderr] 564 | /     lazy_static! {
[INFO] [stderr] 565 | |         static ref RE: Regex = Regex::new(
[INFO] [stderr] 566 | |             format!(
[INFO] [stderr] 567 | |                 r"\b(?P<keyword>{})(?:\s+(?P<number>\d+)|(?P<moves>{}))?(?:\s+|$)",
[INFO] [stderr] ...   |
[INFO] [stderr] 572 | |         ).unwrap();
[INFO] [stderr] 573 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/stock/simple_search.rs:152:30
[INFO] [stderr]     |
[INFO] [stderr] 152 |     report_function: &'a mut FnMut(u64) -> bool,
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 152 |     report_function: &'a mut dyn FnMut(u64) -> bool,
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/engine.rs:233:51
[INFO] [stderr]     |
[INFO] [stderr] 233 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>) {
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 233 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>) {
[INFO] [stderr]     |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/stock/simple_search.rs:169:41
[INFO] [stderr]     |
[INFO] [stderr] 169 |                report_function: &'a mut FnMut(u64) -> bool)
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 169 |                report_function: &'a mut dyn FnMut(u64) -> bool)
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/stock/std_search_node.rs:69:44
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/search_node.rs:50:44
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/uci.rs:244:51
[INFO] [stderr]     |
[INFO] [stderr] 244 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>);
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 244 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>);
[INFO] [stderr]     |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/stock/std_ttable.rs:172:17
[INFO] [stderr]     |
[INFO] [stderr] 172 | /                 format!("too restrictive transposition table entry alignment: {} bytes",
[INFO] [stderr] 173 | |                         mem::align_of::<T>()));
[INFO] [stderr]     | |_____________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 172 ~                 "too restrictive transposition table entry alignment: {} bytes",
[INFO] [stderr] 173 ~                         mem::align_of::<T>());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/stock/std_ttable.rs:175:17
[INFO] [stderr]     |
[INFO] [stderr] 175 | /                 format!("too big transposition table entry: {} bytes",
[INFO] [stderr] 176 | |                         mem::size_of::<T>()));
[INFO] [stderr]     | |____________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 175 ~                 "too big transposition table entry: {} bytes",
[INFO] [stderr] 176 ~                         mem::size_of::<T>());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/stock/std_ttable.rs:178:17
[INFO] [stderr]     |
[INFO] [stderr] 178 | /                 format!("too small transposition table entry: {} bytes",
[INFO] [stderr] 179 | |                         mem::size_of::<T>()));
[INFO] [stderr]     | |____________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 178 ~                 "too small transposition table entry: {} bytes",
[INFO] [stderr] 179 ~                         mem::size_of::<T>());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: the type `bool` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/simple_search.rs:355:42
[INFO] [stderr]     |
[INFO] [stderr] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                          |
[INFO] [stderr]     |                                          this code causes undefined behavior when executed
[INFO] [stderr]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: booleans must be either `true` or `false`
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `Option<moves::Move>` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stderr]     |
[INFO] [stderr] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           this code causes undefined behavior when executed
[INFO] [stderr]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stderr]    --> /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/option.rs:570:1
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stderr]     |
[INFO] [stderr] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                    |
[INFO] [stderr]     |                                                    this code causes undefined behavior when executed
[INFO] [stderr]     |                                                    help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stderr]     |
[INFO] [stderr] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                          |
[INFO] [stderr]     |                                          this code causes undefined behavior when executed
[INFO] [stderr]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stderr]     |
[INFO] [stderr] 870 |             dest_sets = uninitialized();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         this code causes undefined behavior when executed
[INFO] [stderr]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[i16; 34]` does not permit being left uninitialized
[INFO] [stderr]    --> src/move_generator.rs:206:41
[INFO] [stderr]     |
[INFO] [stderr] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                         |
[INFO] [stderr]     |                                         this code causes undefined behavior when executed
[INFO] [stderr]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]     --> src/stock/std_move_generator.rs:1253:42
[INFO] [stderr]      |
[INFO] [stderr] 1253 |             StdMoveGenerator::from_board(try!(Board::from_fen(fen)))
[INFO] [stderr]      |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/stock/std_ttable.rs:443:17
[INFO] [stderr]     |
[INFO] [stderr] 443 |             let mut record = b.get(0).as_mut().unwrap();
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/stock/std_ttable.rs:464:17
[INFO] [stderr]     |
[INFO] [stderr] 464 |             let mut record = b.get(4).as_mut().unwrap();
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `alcibiades` (lib) generated 82 warnings (1 duplicate) (run `cargo fix --lib -p alcibiades` to apply 18 suggestions)
[INFO] [stderr] warning: `alcibiades` (lib test) generated 85 warnings (82 duplicates) (run `cargo fix --lib -p alcibiades --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/alcibiades-4dc943f9c5f929f9)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test bitsets::tests::bitsets ... ok
[INFO] [stdout] test board::tests::castling_rights ... ok
[INFO] [stdout] test moves::tests::moves ... ok
[INFO] [stdout] test stock::std_move_generator::tests::piece_type_constants ... ok
[INFO] [stderr] thread 'stock::std_move_generator::tests::move_into_check_bug' panicked at library/core/src/panicking.rs:155:5:
[INFO] [stderr] attempted to leave type `core::option::Option<moves::Move>` uninitialized, which is invalid
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x55bceb44ab26 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stderr]    1:     0x55bceb44ab26 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stderr]    2:     0x55bceb44ab26 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stderr]    3:     0x55bceb44ab26 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hbb235daedd7c6190
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stderr]    4:     0x55bceb4739e0 - core::fmt::rt::Argument::fmt::h76c38a80d925a410
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9
[INFO] [stderr]    5:     0x55bceb4739e0 - core::fmt::write::h3ed6aeaa977c8e45
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17
[INFO] [stderr]    6:     0x55bceb44861f - std::io::Write::write_fmt::h78b18af5775fedb5
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15
[INFO] [stderr]    7:     0x55bceb44a904 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stderr]    8:     0x55bceb44a904 - std::sys_common::backtrace::print::h85035a511aafe7a8
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stderr]    9:     0x55bceb44c677 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25
[INFO] [stderr]   10:     0x55bceb44c3d9 - std::panicking::default_hook::hf5fcb0f213fe709a
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:292:9
[INFO] [stderr]   11:     0x55bceb2e5907 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h60265c2dfa87ee34
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stderr]   12:     0x55bceb2e5907 - test::test_main::{{closure}}::h77865bd3127078c6
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:138:21
[INFO] [stderr]   13:     0x55bceb44cc96 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbc5ccf4eb663e1e5
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2029:9
[INFO] [stderr]   14:     0x55bceb44cc96 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:783:13
[INFO] [stderr]   15:     0x55bceb44c9a9 - std::panicking::begin_panic_handler::{{closure}}::h032ba12139b353db
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:649:13
[INFO] [stderr]   16:     0x55bceb44b026 - std::sys_common::backtrace::__rust_end_short_backtrace::h9259bc2ff8fd0f76
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stderr]   17:     0x55bceb44c740 - rust_begin_unwind
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
[INFO] [stderr]   18:     0x55bceb25c2ea - core::panicking::panic_nounwind_fmt::runtime::hc18fd4a76c1e2aab
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:110:18
[INFO] [stderr]   19:     0x55bceb25c2ea - core::panicking::panic_nounwind_fmt::hcb87f45b1afb5c5d
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:122:9
[INFO] [stderr]   20:     0x55bceb25c399 - core::panicking::panic_nounwind::h63c25437b93d358c
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:155:5
[INFO] [stderr]   21:     0x55bceb2636ef - core::mem::uninitialized::hfb7caba961688be5
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/mem/mod.rs:693:9
[INFO] [stderr]   22:     0x55bceb2636ef - <alcibiades::stock::std_move_generator::StdMoveGenerator<T> as alcibiades::move_generator::MoveGenerator>::try_move_digest::h798070ddf3bef83b
[INFO] [stderr]                                at /opt/rustwide/workdir/src/stock/std_move_generator.rs:299:43
[INFO] [stderr]   23:     0x55bceb265525 - <alcibiades::stock::std_move_generator::StdMoveGenerator<T> as alcibiades::move_generator::MoveGenerator>::do_move::h8bd1fafd6f5c839d
[INFO] [stderr]                                at /opt/rustwide/workdir/src/stock/std_move_generator.rs:517:38
[INFO] [stderr]   24:     0x55bceb279a86 - alcibiades::stock::std_move_generator::tests::move_into_check_bug::hf1e03673d768ac3e
[INFO] [stderr]                                at /opt/rustwide/workdir/src/stock/std_move_generator.rs:1592:9
[INFO] [stderr]   25:     0x55bceb279977 - alcibiades::stock::std_move_generator::tests::move_into_check_bug::{{closure}}::h542f05cb0f60d2f7
[INFO] [stderr]                                at /opt/rustwide/workdir/src/stock/std_move_generator.rs:1586:29
[INFO] [stderr]   26:     0x55bceb28b956 - core::ops::function::FnOnce::call_once::hd0269297ce7a502f
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   27:     0x55bceb2eb1df - core::ops::function::FnOnce::call_once::h8dc6907944022cf6
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   28:     0x55bceb2eb1df - test::__rust_begin_short_backtrace::haae1a87433f1efb3
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:627:18
[INFO] [stderr]   29:     0x55bceb2e9f61 - test::run_test_in_process::{{closure}}::h8c7decfa7c14e152
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:60
[INFO] [stderr]   30:     0x55bceb2e9f61 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h19e6ff056d9d21e9
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   31:     0x55bceb2e9f61 - std::panicking::try::do_call::h89c848fcaa37c035
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stderr]   32:     0x55bceb2e9f61 - std::panicking::try::h57ab3dc74e2839b8
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stderr]   33:     0x55bceb2e9f61 - std::panic::catch_unwind::hfb6a1b1abc120fb9
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stderr]   34:     0x55bceb2e9f61 - test::run_test_in_process::h5ae2f9875edd562d
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:650:27
[INFO] [stderr]   35:     0x55bceb2e9f61 - test::run_test::{{closure}}::h35d7300d8928a067
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:573:43
[INFO] [stderr]   36:     0x55bceb2b1296 - test::run_test::{{closure}}::h7525ced405d23d1b
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/test/src/lib.rs:601:41
[INFO] [stderr]   37:     0x55bceb2b1296 - std::sys_common::backtrace::__rust_begin_short_backtrace::h4e7db78ce05afad8
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stderr]   38:     0x55bceb2b62f7 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hcfbcb64f1a1b3482
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:529:17
[INFO] [stderr]   39:     0x55bceb2b62f7 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9d89c5c4108bd689
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   40:     0x55bceb2b62f7 - std::panicking::try::do_call::h8a4869bc94ec50c9
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
[INFO] [stderr]   41:     0x55bceb2b62f7 - std::panicking::try::h9a576f20ff81ac30
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
[INFO] [stderr]   42:     0x55bceb2b62f7 - std::panic::catch_unwind::hbcb4e3f860ef9830
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
[INFO] [stderr]   43:     0x55bceb2b62f7 - std::thread::Builder::spawn_unchecked_::{{closure}}::h93c79a6be1505948
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/mod.rs:528:30
[INFO] [stderr]   44:     0x55bceb2b62f7 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h426d96740c81bdaf
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   45:     0x55bceb451755 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h12de4fc57affb195
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stderr]   46:     0x55bceb451755 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3c619f45059d5cf1
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/alloc/src/boxed.rs:2015:9
[INFO] [stderr]   47:     0x55bceb451755 - std::sys::unix::thread::Thread::new::thread_start::hbac657605e4b7389
[INFO] [stderr]                                at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stderr]   48:     0x7f869814dac3 - <unknown>
[INFO] [stderr]   49:     0x7f86981debf4 - __clone
[INFO] [stderr]   50:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/alcibiades-4dc943f9c5f929f9` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "13edcd08b315ea691f13677505d86f3811e3d4658fc8706e776b3a2a68644253", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13edcd08b315ea691f13677505d86f3811e3d4658fc8706e776b3a2a68644253", kill_on_drop: false }`
[INFO] [stdout] 13edcd08b315ea691f13677505d86f3811e3d4658fc8706e776b3a2a68644253
[INFO] testing alcibiades-0.3.0 against beta-2024-02-10 for beta-1.77-1
[INFO] extracting crate alcibiades 0.3.0 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate alcibiades 0.3.0 on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate alcibiades 0.3.0
[INFO] finished tweaking crates.io crate alcibiades 0.3.0
[INFO] tweaked toml for crates.io crate alcibiades 0.3.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fb1edbbc4d7806d4fa4b5f95fa3ae4450c144629a1c30e221d7756f795cdbfcd
[INFO] running `Command { std: "docker" "start" "-a" "fb1edbbc4d7806d4fa4b5f95fa3ae4450c144629a1c30e221d7756f795cdbfcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fb1edbbc4d7806d4fa4b5f95fa3ae4450c144629a1c30e221d7756f795cdbfcd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb1edbbc4d7806d4fa4b5f95fa3ae4450c144629a1c30e221d7756f795cdbfcd", kill_on_drop: false }`
[INFO] [stdout] fb1edbbc4d7806d4fa4b5f95fa3ae4450c144629a1c30e221d7756f795cdbfcd
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4258ed6ce72587fae28c6f1fc95d77d933b99b5b3747916be82656893a5e0a9c
[INFO] running `Command { std: "docker" "start" "-a" "4258ed6ce72587fae28c6f1fc95d77d933b99b5b3747916be82656893a5e0a9c", kill_on_drop: false }`
[INFO] [stderr]    Compiling ucd-util v0.1.10
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]    Compiling utf8-ranges v1.0.5
[INFO] [stderr]    Compiling lazy_static v0.2.11
[INFO] [stderr]    Compiling aho-corasick v0.6.10
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling regex-syntax v0.5.6
[INFO] [stderr]    Compiling rand v0.3.23
[INFO] [stderr]    Compiling alcibiades v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let pieces = try!(parse_fen_piece_placement(fileds[0]));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let to_move = try!(parse_fen_active_color(fileds[1]));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let castling_rights = try!(parse_fen_castling_rights(fileds[2]));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:58:47
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let enpassant_file = if let Some(x) = try!(parse_fen_enpassant_square(fileds[3])) {
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let halfmove_clock = try!(fileds[4].parse::<u8>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let fullmove_number = try!(fileds[5].parse::<u16>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utils/notation.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         if let 1...9000 = fullmove_number {
[INFO] [stdout]    |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utils/notation.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |             n @ '1'...'8' => Token::EmptySquares(n.to_digit(9).unwrap()),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/stock/std_ttable.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |                          n @ 1...30 => n + 1,
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:226:26
[INFO] [stdout]     |
[INFO] [stdout] 226 |         if let Some(v) = try!(self.node_begin(alpha, beta, depth, last_move)) {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 try!(self.report_progress(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:246:22
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     -try!(self.run(-beta, -alpha, depth - 1, m))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:255:28
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     match -try!(self.run(-alpha - 1, -alpha, depth - 2, m)) {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         _ => -try!(self.run(-beta, -alpha, depth - 1, m)),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:373:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             try!(self.report_progress(result.searched_nodes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:425:30
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let value = -try!(self.run(-beta, -alpha, max(0, reduced_depth - 1), m));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/stock/std_search_node.rs:70:39
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut p: StdSearchNode<T> = try!(StdSearchNode::from_fen(fen));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:317:56
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let (board, halfmove_clock, fullmove_number) = try!(parse_fen(fen));
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:318:19
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let gen = try!(T::MoveGenerator::from_board(board));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/aspiration.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/multipv.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         } = try!(self.multipv.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 150 |         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout] 150 +         const WQ: usize = 1 << (WHITE << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 151 -         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout] 151 +         const WK: usize = 1 << (WHITE << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:153:27
[INFO] [stdout]     |
[INFO] [stdout] 153 |         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 153 -         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout] 153 +         const BQ: usize = 1 << (BLACK << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout] 154 +         const BK: usize = 1 << (BLACK << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/board.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 try!(f.write_str(s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let mut server = try!(Server::<E>::wait_for_hanshake());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(write!(writer, "id name {}\n", E::name()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         try!(write!(writer, "id author {}\n", E::author()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         try!(write!(writer, "uciok\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         try!(writer.flush());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if try!(reader.read_line(&mut line)) == 0 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |             try!(write!(writer,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:361:40
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 if let Ok(cmd) = match try!(reader.read_line(&mut line)) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:405:25
[INFO] [stdout]     |
[INFO] [stdout] 405 |                         try!(write!(writer, "readyok\n"));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:406:25
[INFO] [stdout]     |
[INFO] [stdout] 406 |                         try!(writer.flush());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |                 try!(writer.flush());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 | ...                   try!(write!(writer,
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...                   try!(write!(writer, "info"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:458:33
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   try!(write!(writer, "\n"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:456:37
[INFO] [stdout]     |
[INFO] [stdout] 456 | ...                   try!(write!(writer, " {} {}", info_type, data));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/lib.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / lazy_static! {
[INFO] [stdout] 128 | |     static ref CONFIGURATION: RwLock<HashMap<&'static str, String>> = RwLock::new(HashMap::new());
[INFO] [stdout] 129 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = ONCE_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = Once::new();
[INFO] [stdout]     |                                      ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = ONCE_INIT;
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = Once::new();
[INFO] [stdout]    |                                    ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/notation.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | /     lazy_static! {
[INFO] [stdout] 88 | |         static ref RE: Regex = Regex::new(r"^[a-h][1-8]$").unwrap();
[INFO] [stdout] 89 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/simple_search.rs:355:47
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/stock/std_move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/stock/std_move_generator.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |             evaluator: unsafe { uninitialized() },
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/std_time_manager.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / lazy_static! {
[INFO] [stdout] 176 | |     static ref AVG_SLOPE: RwLock<f64> = RwLock::new(0.7);
[INFO] [stdout] 177 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/deepening/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 | /         lazy_static! {
[INFO] [stdout] 161 | |             static ref RE: Regex = Regex::new(r"^TARGET_DEPTH=([-+]?\d+)$").unwrap();
[INFO] [stdout] 162 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/moves.rs:387:5
[INFO] [stdout]     |
[INFO] [stdout] 387 | /     lazy_static! {
[INFO] [stdout] 388 | |         static ref NOTATION: Vec<String> = (0..64).map(|i| format!("{}{}",
[INFO] [stdout] 389 | |             ["a", "b", "c", "d", "e", "f", "g", "h"][Board::file(i)],
[INFO] [stdout] 390 | |             ["1", "2", "3", "4", "5", "6", "7", "8"][Board::rank(i)])
[INFO] [stdout] 391 | |         ).collect();
[INFO] [stdout] 392 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | /         lazy_static! {
[INFO] [stdout] 301 | |             static ref RE: Regex = Regex::new(r"\buci(?:\s|$)").unwrap();
[INFO] [stdout] 302 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 | /     lazy_static! {
[INFO] [stdout] 491 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 492 | |             format!(r"\b({})\s*(?:\s(.*)|$)",
[INFO] [stdout] 493 | |                     "setoption|isready|ucinewgame|\
[INFO] [stdout] ...   |
[INFO] [stdout] 496 | |         ).unwrap();
[INFO] [stdout] 497 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:519:5
[INFO] [stdout]     |
[INFO] [stdout] 519 | /     lazy_static! {
[INFO] [stdout] 520 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 521 | |             r"^name\s+(\S.*?)(?:\s+value\s+(.*?))?\s*$").unwrap();
[INFO] [stdout] 522 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:536:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | /     lazy_static! {
[INFO] [stdout] 537 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 538 | |             format!(
[INFO] [stdout] 539 | |                 r"^(?:fen\s+(?P<fen>{})|startpos)(?:\s+moves(?P<moves>{}))?\s*$",
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |         ).unwrap();
[INFO] [stdout] 544 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:564:5
[INFO] [stdout]     |
[INFO] [stdout] 564 | /     lazy_static! {
[INFO] [stdout] 565 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 566 | |             format!(
[INFO] [stdout] 567 | |                 r"\b(?P<keyword>{})(?:\s+(?P<number>\d+)|(?P<moves>{}))?(?:\s+|$)",
[INFO] [stdout] ...   |
[INFO] [stdout] 572 | |         ).unwrap();
[INFO] [stdout] 573 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut FnMut(u64) -> bool,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut dyn FnMut(u64) -> bool,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine.rs:233:51
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:169:41
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut FnMut(u64) -> bool)
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut dyn FnMut(u64) -> bool)
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/stock/std_search_node.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search_node.rs:50:44
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/uci.rs:244:51
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>);
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutable reference of mutable static is discouraged
[INFO] [stdout]    --> src/utils/board_geometry.rs:214:63
[INFO] [stdout]     |
[INFO] [stdout] 214 |             let bishop_attacks_size = init_slider_map(BISHOP, &mut BISHOP_MAP, 0, false);
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^ mutable reference of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stdout] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |             let bishop_attacks_size = init_slider_map(BISHOP, addr_of_mut!(BISHOP_MAP), 0, false);
[INFO] [stdout]     |                                                               ~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutable reference of mutable static is discouraged
[INFO] [stdout]    --> src/utils/board_geometry.rs:215:52
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let total_size = init_slider_map(ROOK, &mut ROOK_MAP, bishop_attacks_size, false);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^ mutable reference of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let total_size = init_slider_map(ROOK, addr_of_mut!(ROOK_MAP), bishop_attacks_size, false);
[INFO] [stdout]     |                                                    ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 format!("too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 | |                         mem::align_of::<T>()));
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 172 ~                 "too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 ~                         mem::align_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 | /                 format!("too big transposition table entry: {} bytes",
[INFO] [stdout] 176 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 175 ~                 "too big transposition table entry: {} bytes",
[INFO] [stdout] 176 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | /                 format!("too small transposition table entry: {} bytes",
[INFO] [stdout] 179 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 178 ~                 "too small transposition table entry: {} bytes",
[INFO] [stdout] 179 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `bool` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/simple_search.rs:355:42
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: booleans must be either `true` or `false`
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Option<moves::Move>` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/option.rs:570:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this code causes undefined behavior when executed
[INFO] [stdout]     |                                                    help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[i16; 34]` does not permit being left uninitialized
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 84 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.20s
[INFO] running `Command { std: "docker" "inspect" "4258ed6ce72587fae28c6f1fc95d77d933b99b5b3747916be82656893a5e0a9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4258ed6ce72587fae28c6f1fc95d77d933b99b5b3747916be82656893a5e0a9c", kill_on_drop: false }`
[INFO] [stdout] 4258ed6ce72587fae28c6f1fc95d77d933b99b5b3747916be82656893a5e0a9c
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3bad18a0224c510a7dd4e7eafe83c8780d7af97bdc7b973eb5271bb0853ce33a
[INFO] running `Command { std: "docker" "start" "-a" "3bad18a0224c510a7dd4e7eafe83c8780d7af97bdc7b973eb5271bb0853ce33a", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let pieces = try!(parse_fen_piece_placement(fileds[0]));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let to_move = try!(parse_fen_active_color(fileds[1]));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let castling_rights = try!(parse_fen_castling_rights(fileds[2]));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:58:47
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let enpassant_file = if let Some(x) = try!(parse_fen_enpassant_square(fileds[3])) {
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let halfmove_clock = try!(fileds[4].parse::<u8>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let fullmove_number = try!(fileds[5].parse::<u16>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utils/notation.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         if let 1...9000 = fullmove_number {
[INFO] [stdout]    |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utils/notation.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |             n @ '1'...'8' => Token::EmptySquares(n.to_digit(9).unwrap()),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/stock/std_ttable.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |                          n @ 1...30 => n + 1,
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:226:26
[INFO] [stdout]     |
[INFO] [stdout] 226 |         if let Some(v) = try!(self.node_begin(alpha, beta, depth, last_move)) {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 try!(self.report_progress(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:246:22
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     -try!(self.run(-beta, -alpha, depth - 1, m))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:255:28
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     match -try!(self.run(-alpha - 1, -alpha, depth - 2, m)) {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         _ => -try!(self.run(-beta, -alpha, depth - 1, m)),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:373:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             try!(self.report_progress(result.searched_nodes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:425:30
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let value = -try!(self.run(-beta, -alpha, max(0, reduced_depth - 1), m));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/stock/std_search_node.rs:70:39
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut p: StdSearchNode<T> = try!(StdSearchNode::from_fen(fen));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:317:56
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let (board, halfmove_clock, fullmove_number) = try!(parse_fen(fen));
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:318:19
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let gen = try!(T::MoveGenerator::from_board(board));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/aspiration.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/multipv.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         } = try!(self.multipv.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 150 |         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout] 150 +         const WQ: usize = 1 << (WHITE << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 151 -         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout] 151 +         const WK: usize = 1 << (WHITE << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:153:27
[INFO] [stdout]     |
[INFO] [stdout] 153 |         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 153 -         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout] 153 +         const BQ: usize = 1 << (BLACK << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout] 154 +         const BK: usize = 1 << (BLACK << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/board.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 try!(f.write_str(s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let mut server = try!(Server::<E>::wait_for_hanshake());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(write!(writer, "id name {}\n", E::name()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         try!(write!(writer, "id author {}\n", E::author()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         try!(write!(writer, "uciok\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         try!(writer.flush());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if try!(reader.read_line(&mut line)) == 0 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |             try!(write!(writer,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:361:40
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 if let Ok(cmd) = match try!(reader.read_line(&mut line)) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:405:25
[INFO] [stdout]     |
[INFO] [stdout] 405 |                         try!(write!(writer, "readyok\n"));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:406:25
[INFO] [stdout]     |
[INFO] [stdout] 406 |                         try!(writer.flush());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |                 try!(writer.flush());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 | ...                   try!(write!(writer,
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...                   try!(write!(writer, "info"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:458:33
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   try!(write!(writer, "\n"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:456:37
[INFO] [stdout]     |
[INFO] [stdout] 456 | ...                   try!(write!(writer, " {} {}", info_type, data));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/lib.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / lazy_static! {
[INFO] [stdout] 128 | |     static ref CONFIGURATION: RwLock<HashMap<&'static str, String>> = RwLock::new(HashMap::new());
[INFO] [stdout] 129 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = ONCE_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = Once::new();
[INFO] [stdout]     |                                      ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = ONCE_INIT;
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = Once::new();
[INFO] [stdout]    |                                    ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/notation.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | /     lazy_static! {
[INFO] [stdout] 88 | |         static ref RE: Regex = Regex::new(r"^[a-h][1-8]$").unwrap();
[INFO] [stdout] 89 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/simple_search.rs:355:47
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/stock/std_move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/stock/std_move_generator.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |             evaluator: unsafe { uninitialized() },
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/std_time_manager.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / lazy_static! {
[INFO] [stdout] 176 | |     static ref AVG_SLOPE: RwLock<f64> = RwLock::new(0.7);
[INFO] [stdout] 177 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/deepening/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 | /         lazy_static! {
[INFO] [stdout] 161 | |             static ref RE: Regex = Regex::new(r"^TARGET_DEPTH=([-+]?\d+)$").unwrap();
[INFO] [stdout] 162 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/moves.rs:387:5
[INFO] [stdout]     |
[INFO] [stdout] 387 | /     lazy_static! {
[INFO] [stdout] 388 | |         static ref NOTATION: Vec<String> = (0..64).map(|i| format!("{}{}",
[INFO] [stdout] 389 | |             ["a", "b", "c", "d", "e", "f", "g", "h"][Board::file(i)],
[INFO] [stdout] 390 | |             ["1", "2", "3", "4", "5", "6", "7", "8"][Board::rank(i)])
[INFO] [stdout] 391 | |         ).collect();
[INFO] [stdout] 392 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | /         lazy_static! {
[INFO] [stdout] 301 | |             static ref RE: Regex = Regex::new(r"\buci(?:\s|$)").unwrap();
[INFO] [stdout] 302 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 | /     lazy_static! {
[INFO] [stdout] 491 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 492 | |             format!(r"\b({})\s*(?:\s(.*)|$)",
[INFO] [stdout] 493 | |                     "setoption|isready|ucinewgame|\
[INFO] [stdout] ...   |
[INFO] [stdout] 496 | |         ).unwrap();
[INFO] [stdout] 497 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:519:5
[INFO] [stdout]     |
[INFO] [stdout] 519 | /     lazy_static! {
[INFO] [stdout] 520 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 521 | |             r"^name\s+(\S.*?)(?:\s+value\s+(.*?))?\s*$").unwrap();
[INFO] [stdout] 522 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:536:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | /     lazy_static! {
[INFO] [stdout] 537 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 538 | |             format!(
[INFO] [stdout] 539 | |                 r"^(?:fen\s+(?P<fen>{})|startpos)(?:\s+moves(?P<moves>{}))?\s*$",
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |         ).unwrap();
[INFO] [stdout] 544 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:564:5
[INFO] [stdout]     |
[INFO] [stdout] 564 | /     lazy_static! {
[INFO] [stdout] 565 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 566 | |             format!(
[INFO] [stdout] 567 | |                 r"\b(?P<keyword>{})(?:\s+(?P<number>\d+)|(?P<moves>{}))?(?:\s+|$)",
[INFO] [stdout] ...   |
[INFO] [stdout] 572 | |         ).unwrap();
[INFO] [stdout] 573 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut FnMut(u64) -> bool,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut dyn FnMut(u64) -> bool,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine.rs:233:51
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:169:41
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut FnMut(u64) -> bool)
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut dyn FnMut(u64) -> bool)
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/stock/std_search_node.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search_node.rs:50:44
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/uci.rs:244:51
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>);
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutable reference of mutable static is discouraged
[INFO] [stdout]    --> src/utils/board_geometry.rs:214:63
[INFO] [stdout]     |
[INFO] [stdout] 214 |             let bishop_attacks_size = init_slider_map(BISHOP, &mut BISHOP_MAP, 0, false);
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^ mutable reference of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stdout] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |             let bishop_attacks_size = init_slider_map(BISHOP, addr_of_mut!(BISHOP_MAP), 0, false);
[INFO] [stdout]     |                                                               ~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutable reference of mutable static is discouraged
[INFO] [stdout]    --> src/utils/board_geometry.rs:215:52
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let total_size = init_slider_map(ROOK, &mut ROOK_MAP, bishop_attacks_size, false);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^ mutable reference of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let total_size = init_slider_map(ROOK, addr_of_mut!(ROOK_MAP), bishop_attacks_size, false);
[INFO] [stdout]     |                                                    ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 format!("too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 | |                         mem::align_of::<T>()));
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 172 ~                 "too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 ~                         mem::align_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 | /                 format!("too big transposition table entry: {} bytes",
[INFO] [stdout] 176 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 175 ~                 "too big transposition table entry: {} bytes",
[INFO] [stdout] 176 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | /                 format!("too small transposition table entry: {} bytes",
[INFO] [stdout] 179 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 178 ~                 "too small transposition table entry: {} bytes",
[INFO] [stdout] 179 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `bool` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/simple_search.rs:355:42
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: booleans must be either `true` or `false`
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Option<moves::Move>` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/option.rs:570:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this code causes undefined behavior when executed
[INFO] [stdout]     |                                                    help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[i16; 34]` does not permit being left uninitialized
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling alcibiades v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 84 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let pieces = try!(parse_fen_piece_placement(fileds[0]));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let to_move = try!(parse_fen_active_color(fileds[1]));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:57:31
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let castling_rights = try!(parse_fen_castling_rights(fileds[2]));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:58:47
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let enpassant_file = if let Some(x) = try!(parse_fen_enpassant_square(fileds[3])) {
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:67:30
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let halfmove_clock = try!(fileds[4].parse::<u8>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/utils/notation.rs:68:31
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let fullmove_number = try!(fileds[5].parse::<u16>().map_err(|_| IllegalBoard));
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/utils/notation.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         if let 1...9000 = fullmove_number {
[INFO] [stdout]    |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/utils/notation.rs:134:20
[INFO] [stdout]     |
[INFO] [stdout] 134 |             n @ '1'...'8' => Token::EmptySquares(n.to_digit(9).unwrap()),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/stock/std_ttable.rs:213:31
[INFO] [stdout]     |
[INFO] [stdout] 213 |                          n @ 1...30 => n + 1,
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:226:26
[INFO] [stdout]     |
[INFO] [stdout] 226 |         if let Some(v) = try!(self.node_begin(alpha, beta, depth, last_move)) {
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:238:17
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 try!(self.report_progress(1));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:246:22
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     -try!(self.run(-beta, -alpha, depth - 1, m))
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:255:28
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     match -try!(self.run(-alpha - 1, -alpha, depth - 2, m)) {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:257:31
[INFO] [stdout]     |
[INFO] [stdout] 257 |                         _ => -try!(self.run(-beta, -alpha, depth - 1, m)),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:373:13
[INFO] [stdout]     |
[INFO] [stdout] 373 |             try!(self.report_progress(result.searched_nodes()));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/simple_search.rs:425:30
[INFO] [stdout]     |
[INFO] [stdout] 425 |                 let value = -try!(self.run(-beta, -alpha, max(0, reduced_depth - 1), m));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/stock/std_search_node.rs:70:39
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let mut p: StdSearchNode<T> = try!(StdSearchNode::from_fen(fen));
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:317:56
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let (board, halfmove_clock, fullmove_number) = try!(parse_fen(fen));
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/std_search_node.rs:318:19
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let gen = try!(T::MoveGenerator::from_board(board));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]     --> src/stock/std_move_generator.rs:1253:42
[INFO] [stdout]      |
[INFO] [stdout] 1253 |             StdMoveGenerator::from_board(try!(Board::from_fen(fen)))
[INFO] [stdout]      |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/aspiration.rs:107:13
[INFO] [stdout]     |
[INFO] [stdout] 107 |         } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/multipv.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             } = try!(self.searcher.try_recv_report());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/stock/deepening/mod.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         } = try!(self.multipv.try_recv_report());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:150:27
[INFO] [stdout]     |
[INFO] [stdout] 150 |         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stdout] 150 +         const WQ: usize = 1 << (WHITE << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:151:27
[INFO] [stdout]     |
[INFO] [stdout] 151 |         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 151 -         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stdout] 151 +         const WK: usize = 1 << (WHITE << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:153:27
[INFO] [stdout]     |
[INFO] [stdout] 153 |         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout]     |                           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 153 -         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stdout] 153 +         const BQ: usize = 1 << (BLACK << 1) << QUEENSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/board.rs:154:27
[INFO] [stdout]     |
[INFO] [stdout] 154 |         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout]     |                           ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 154 -         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stdout] 154 +         const BK: usize = 1 << (BLACK << 1) << KINGSIDE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/board.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 try!(f.write_str(s));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:280:22
[INFO] [stdout]     |
[INFO] [stdout] 280 |     let mut server = try!(Server::<E>::wait_for_hanshake());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(write!(writer, "id name {}\n", E::name()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         try!(write!(writer, "id author {}\n", E::author()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 342 |         try!(write!(writer, "uciok\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:343:9
[INFO] [stdout]     |
[INFO] [stdout] 343 |         try!(writer.flush());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |         if try!(reader.read_line(&mut line)) == 0 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |             try!(write!(writer,
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:361:40
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 if let Ok(cmd) = match try!(reader.read_line(&mut line)) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:405:25
[INFO] [stdout]     |
[INFO] [stdout] 405 |                         try!(write!(writer, "readyok\n"));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:406:25
[INFO] [stdout]     |
[INFO] [stdout] 406 |                         try!(writer.flush());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:469:17
[INFO] [stdout]     |
[INFO] [stdout] 469 |                 try!(writer.flush());
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:444:29
[INFO] [stdout]     |
[INFO] [stdout] 444 | ...                   try!(write!(writer,
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:454:33
[INFO] [stdout]     |
[INFO] [stdout] 454 | ...                   try!(write!(writer, "info"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:458:33
[INFO] [stdout]     |
[INFO] [stdout] 458 | ...                   try!(write!(writer, "\n"));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/uci.rs:456:37
[INFO] [stdout]     |
[INFO] [stdout] 456 | ...                   try!(write!(writer, " {} {}", info_type, data));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/lib.rs:127:1
[INFO] [stdout]     |
[INFO] [stdout] 127 | / lazy_static! {
[INFO] [stdout] 128 | |     static ref CONFIGURATION: RwLock<HashMap<&'static str, String>> = RwLock::new(HashMap::new());
[INFO] [stdout] 129 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:228:31
[INFO] [stdout]     |
[INFO] [stdout] 228 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/utils/board_geometry.rs:229:38
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = ONCE_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 229 |         static INIT_GEOMETRY: Once = Once::new();
[INFO] [stdout]     |                                      ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:87:31
[INFO] [stdout]    |
[INFO] [stdout] 87 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stdout]    |                               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/zobrist_arrays.rs:88:36
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = ONCE_INIT;
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]    |
[INFO] [stdout] 88 |         static INIT_ARRAYS: Once = Once::new();
[INFO] [stdout]    |                                    ~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/utils/notation.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | /     lazy_static! {
[INFO] [stdout] 88 | |         static ref RE: Regex = Regex::new(r"^[a-h][1-8]$").unwrap();
[INFO] [stdout] 89 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/engine.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / lazy_static! {
[INFO] [stdout] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stdout] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stdout] 614 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/simple_search.rs:355:47
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/stock/std_move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/stock/std_move_generator.rs:37:33
[INFO] [stdout]    |
[INFO] [stdout] 37 |             evaluator: unsafe { uninitialized() },
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/std_time_manager.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | / lazy_static! {
[INFO] [stdout] 176 | |     static ref AVG_SLOPE: RwLock<f64> = RwLock::new(0.7);
[INFO] [stdout] 177 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/stock/deepening/mod.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 | /         lazy_static! {
[INFO] [stdout] 161 | |             static ref RE: Regex = Regex::new(r"^TARGET_DEPTH=([-+]?\d+)$").unwrap();
[INFO] [stdout] 162 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/moves.rs:387:5
[INFO] [stdout]     |
[INFO] [stdout] 387 | /     lazy_static! {
[INFO] [stdout] 388 | |         static ref NOTATION: Vec<String> = (0..64).map(|i| format!("{}{}",
[INFO] [stdout] 389 | |             ["a", "b", "c", "d", "e", "f", "g", "h"][Board::file(i)],
[INFO] [stdout] 390 | |             ["1", "2", "3", "4", "5", "6", "7", "8"][Board::rank(i)])
[INFO] [stdout] 391 | |         ).collect();
[INFO] [stdout] 392 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]  --> src/move_generator.rs:3:15
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::mem::uninitialized;
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | /         lazy_static! {
[INFO] [stdout] 301 | |             static ref RE: Regex = Regex::new(r"\buci(?:\s|$)").unwrap();
[INFO] [stdout] 302 | |         }
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 | /     lazy_static! {
[INFO] [stdout] 491 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 492 | |             format!(r"\b({})\s*(?:\s(.*)|$)",
[INFO] [stdout] 493 | |                     "setoption|isready|ucinewgame|\
[INFO] [stdout] ...   |
[INFO] [stdout] 496 | |         ).unwrap();
[INFO] [stdout] 497 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:519:5
[INFO] [stdout]     |
[INFO] [stdout] 519 | /     lazy_static! {
[INFO] [stdout] 520 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 521 | |             r"^name\s+(\S.*?)(?:\s+value\s+(.*?))?\s*$").unwrap();
[INFO] [stdout] 522 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:536:5
[INFO] [stdout]     |
[INFO] [stdout] 536 | /     lazy_static! {
[INFO] [stdout] 537 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 538 | |             format!(
[INFO] [stdout] 539 | |                 r"^(?:fen\s+(?P<fen>{})|startpos)(?:\s+moves(?P<moves>{}))?\s*$",
[INFO] [stdout] ...   |
[INFO] [stdout] 543 | |         ).unwrap();
[INFO] [stdout] 544 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/uci.rs:564:5
[INFO] [stdout]     |
[INFO] [stdout] 564 | /     lazy_static! {
[INFO] [stdout] 565 | |         static ref RE: Regex = Regex::new(
[INFO] [stdout] 566 | |             format!(
[INFO] [stdout] 567 | |                 r"\b(?P<keyword>{})(?:\s+(?P<number>\d+)|(?P<moves>{}))?(?:\s+|$)",
[INFO] [stdout] ...   |
[INFO] [stdout] 572 | |         ).unwrap();
[INFO] [stdout] 573 | |     }
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:152:30
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut FnMut(u64) -> bool,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 152 |     report_function: &'a mut dyn FnMut(u64) -> bool,
[INFO] [stdout]     |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/engine.rs:233:51
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 233 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>) {
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/stock/simple_search.rs:169:41
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut FnMut(u64) -> bool)
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 169 |                report_function: &'a mut dyn FnMut(u64) -> bool)
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/stock/std_search_node.rs:69:44
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/search_node.rs:50:44
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stdout]    |                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/uci.rs:244:51
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 244 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>);
[INFO] [stdout]     |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutable reference of mutable static is discouraged
[INFO] [stdout]    --> src/utils/board_geometry.rs:214:63
[INFO] [stdout]     |
[INFO] [stdout] 214 |             let bishop_attacks_size = init_slider_map(BISHOP, &mut BISHOP_MAP, 0, false);
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^ mutable reference of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout]     = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stdout] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 214 |             let bishop_attacks_size = init_slider_map(BISHOP, addr_of_mut!(BISHOP_MAP), 0, false);
[INFO] [stdout]     |                                                               ~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: mutable reference of mutable static is discouraged
[INFO] [stdout]    --> src/utils/board_geometry.rs:215:52
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let total_size = init_slider_map(ROOK, &mut ROOK_MAP, bishop_attacks_size, false);
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^ mutable reference of mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stdout]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stdout] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let total_size = init_slider_map(ROOK, addr_of_mut!(ROOK_MAP), bishop_attacks_size, false);
[INFO] [stdout]     |                                                    ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/stock/std_ttable.rs:443:17
[INFO] [stdout]     |
[INFO] [stdout] 443 |             let mut record = b.get(0).as_mut().unwrap();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/stock/std_ttable.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |             let mut record = b.get(4).as_mut().unwrap();
[INFO] [stdout]     |                 ----^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 format!("too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 | |                         mem::align_of::<T>()));
[INFO] [stdout]     | |_____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 172 ~                 "too restrictive transposition table entry alignment: {} bytes",
[INFO] [stdout] 173 ~                         mem::align_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:175:17
[INFO] [stdout]     |
[INFO] [stdout] 175 | /                 format!("too big transposition table entry: {} bytes",
[INFO] [stdout] 176 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 175 ~                 "too big transposition table entry: {} bytes",
[INFO] [stdout] 176 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/stock/std_ttable.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | /                 format!("too small transposition table entry: {} bytes",
[INFO] [stdout] 179 | |                         mem::size_of::<T>()));
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 178 ~                 "too small transposition table entry: {} bytes",
[INFO] [stdout] 179 ~                         mem::size_of::<T>());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `bool` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/simple_search.rs:355:42
[INFO] [stdout]     |
[INFO] [stdout] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: booleans must be either `true` or `false`
[INFO] [stdout]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `Option<moves::Move>` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this code causes undefined behavior when executed
[INFO] [stdout]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stdout]    --> /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/option.rs:570:1
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this code causes undefined behavior when executed
[INFO] [stdout]     |                                                    help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stdout]     |
[INFO] [stdout] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          this code causes undefined behavior when executed
[INFO] [stdout]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stdout]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stdout]     |
[INFO] [stdout] 870 |             dest_sets = uninitialized();
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this code causes undefined behavior when executed
[INFO] [stdout]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `[i16; 34]` does not permit being left uninitialized
[INFO] [stdout]    --> src/move_generator.rs:206:41
[INFO] [stdout]     |
[INFO] [stdout] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this code causes undefined behavior when executed
[INFO] [stdout]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]     |
[INFO] [stdout]     = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 87 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.27s
[INFO] running `Command { std: "docker" "inspect" "3bad18a0224c510a7dd4e7eafe83c8780d7af97bdc7b973eb5271bb0853ce33a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3bad18a0224c510a7dd4e7eafe83c8780d7af97bdc7b973eb5271bb0853ce33a", kill_on_drop: false }`
[INFO] [stdout] 3bad18a0224c510a7dd4e7eafe83c8780d7af97bdc7b973eb5271bb0853ce33a
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 415ae263d8302973c80be697717eb8cfec35b2c9069b282a49f1031b8d77e166
[INFO] running `Command { std: "docker" "start" "-a" "415ae263d8302973c80be697717eb8cfec35b2c9069b282a49f1031b8d77e166", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:55:22
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let pieces = try!(parse_fen_piece_placement(fileds[0]));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:56:23
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let to_move = try!(parse_fen_active_color(fileds[1]));
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:57:31
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let castling_rights = try!(parse_fen_castling_rights(fileds[2]));
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:58:47
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let enpassant_file = if let Some(x) = try!(parse_fen_enpassant_square(fileds[3])) {
[INFO] [stderr]    |                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:67:30
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let halfmove_clock = try!(fileds[4].parse::<u8>().map_err(|_| IllegalBoard));
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/utils/notation.rs:68:31
[INFO] [stderr]    |
[INFO] [stderr] 68 |         let fullmove_number = try!(fileds[5].parse::<u16>().map_err(|_| IllegalBoard));
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/utils/notation.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |         if let 1...9000 = fullmove_number {
[INFO] [stderr]    |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/utils/notation.rs:134:20
[INFO] [stderr]     |
[INFO] [stderr] 134 |             n @ '1'...'8' => Token::EmptySquares(n.to_digit(9).unwrap()),
[INFO] [stderr]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/stock/std_ttable.rs:213:31
[INFO] [stderr]     |
[INFO] [stderr] 213 |                          n @ 1...30 => n + 1,
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:226:26
[INFO] [stderr]     |
[INFO] [stderr] 226 |         if let Some(v) = try!(self.node_begin(alpha, beta, depth, last_move)) {
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:238:17
[INFO] [stderr]     |
[INFO] [stderr] 238 |                 try!(self.report_progress(1));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:246:22
[INFO] [stderr]     |
[INFO] [stderr] 246 |                     -try!(self.run(-beta, -alpha, depth - 1, m))
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:255:28
[INFO] [stderr]     |
[INFO] [stderr] 255 |                     match -try!(self.run(-alpha - 1, -alpha, depth - 2, m)) {
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:257:31
[INFO] [stderr]     |
[INFO] [stderr] 257 |                         _ => -try!(self.run(-beta, -alpha, depth - 1, m)),
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:373:13
[INFO] [stderr]     |
[INFO] [stderr] 373 |             try!(self.report_progress(result.searched_nodes()));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/simple_search.rs:425:30
[INFO] [stderr]     |
[INFO] [stderr] 425 |                 let value = -try!(self.run(-beta, -alpha, max(0, reduced_depth - 1), m));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/stock/std_search_node.rs:70:39
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let mut p: StdSearchNode<T> = try!(StdSearchNode::from_fen(fen));
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/std_search_node.rs:317:56
[INFO] [stderr]     |
[INFO] [stderr] 317 |         let (board, halfmove_clock, fullmove_number) = try!(parse_fen(fen));
[INFO] [stderr]     |                                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/std_search_node.rs:318:19
[INFO] [stderr]     |
[INFO] [stderr] 318 |         let gen = try!(T::MoveGenerator::from_board(board));
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/deepening/aspiration.rs:107:13
[INFO] [stderr]     |
[INFO] [stderr] 107 |         } = try!(self.searcher.try_recv_report());
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/deepening/multipv.rs:118:17
[INFO] [stderr]     |
[INFO] [stderr] 118 |             } = try!(self.searcher.try_recv_report());
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/stock/deepening/mod.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |         } = try!(self.multipv.try_recv_report());
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:150:27
[INFO] [stderr]     |
[INFO] [stderr] 150 |         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stderr]     |                           ^                              ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 150 -         const WQ: usize = (1 << (WHITE << 1) << QUEENSIDE);
[INFO] [stderr] 150 +         const WQ: usize = 1 << (WHITE << 1) << QUEENSIDE;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:151:27
[INFO] [stderr]     |
[INFO] [stderr] 151 |         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stderr]     |                           ^                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 151 -         const WK: usize = (1 << (WHITE << 1) << KINGSIDE);
[INFO] [stderr] 151 +         const WK: usize = 1 << (WHITE << 1) << KINGSIDE;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:153:27
[INFO] [stderr]     |
[INFO] [stderr] 153 |         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stderr]     |                           ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 153 -         const BQ: usize = (1 << (BLACK << 1) << QUEENSIDE);
[INFO] [stderr] 153 +         const BQ: usize = 1 << (BLACK << 1) << QUEENSIDE;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/board.rs:154:27
[INFO] [stderr]     |
[INFO] [stderr] 154 |         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stderr]     |                           ^                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 154 -         const BK: usize = (1 << (BLACK << 1) << KINGSIDE);
[INFO] [stderr] 154 +         const BK: usize = 1 << (BLACK << 1) << KINGSIDE;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/board.rs:189:17
[INFO] [stderr]     |
[INFO] [stderr] 189 |                 try!(f.write_str(s));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:280:22
[INFO] [stderr]     |
[INFO] [stderr] 280 |     let mut server = try!(Server::<E>::wait_for_hanshake());
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:313:9
[INFO] [stderr]     |
[INFO] [stderr] 313 |         try!(write!(writer, "id name {}\n", E::name()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:314:9
[INFO] [stderr]     |
[INFO] [stderr] 314 |         try!(write!(writer, "id author {}\n", E::author()));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:342:9
[INFO] [stderr]     |
[INFO] [stderr] 342 |         try!(write!(writer, "uciok\n"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:343:9
[INFO] [stderr]     |
[INFO] [stderr] 343 |         try!(writer.flush());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:307:12
[INFO] [stderr]     |
[INFO] [stderr] 307 |         if try!(reader.read_line(&mut line)) == 0 {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:316:13
[INFO] [stderr]     |
[INFO] [stderr] 316 |             try!(write!(writer,
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:361:40
[INFO] [stderr]     |
[INFO] [stderr] 361 |                 if let Ok(cmd) = match try!(reader.read_line(&mut line)) {
[INFO] [stderr]     |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:405:25
[INFO] [stderr]     |
[INFO] [stderr] 405 |                         try!(write!(writer, "readyok\n"));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:406:25
[INFO] [stderr]     |
[INFO] [stderr] 406 |                         try!(writer.flush());
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:469:17
[INFO] [stderr]     |
[INFO] [stderr] 469 |                 try!(writer.flush());
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:444:29
[INFO] [stderr]     |
[INFO] [stderr] 444 | ...                   try!(write!(writer,
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:454:33
[INFO] [stderr]     |
[INFO] [stderr] 454 | ...                   try!(write!(writer, "info"));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:458:33
[INFO] [stderr]     |
[INFO] [stderr] 458 | ...                   try!(write!(writer, "\n"));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/uci.rs:456:37
[INFO] [stderr]     |
[INFO] [stderr] 456 | ...                   try!(write!(writer, " {} {}", info_type, data));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/lib.rs:127:1
[INFO] [stderr]     |
[INFO] [stderr] 127 | / lazy_static! {
[INFO] [stderr] 128 | |     static ref CONFIGURATION: RwLock<HashMap<&'static str, String>> = RwLock::new(HashMap::new());
[INFO] [stderr] 129 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/utils/board_geometry.rs:228:31
[INFO] [stderr]     |
[INFO] [stderr] 228 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stderr]     |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/utils/board_geometry.rs:229:38
[INFO] [stderr]     |
[INFO] [stderr] 229 |         static INIT_GEOMETRY: Once = ONCE_INIT;
[INFO] [stderr]     |                                      ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: replace the use of the deprecated constant
[INFO] [stderr]     |
[INFO] [stderr] 229 |         static INIT_GEOMETRY: Once = Once::new();
[INFO] [stderr]     |                                      ~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/utils/zobrist_arrays.rs:87:31
[INFO] [stderr]    |
[INFO] [stderr] 87 |         use std::sync::{Once, ONCE_INIT};
[INFO] [stderr]    |                               ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/utils/zobrist_arrays.rs:88:36
[INFO] [stderr]    |
[INFO] [stderr] 88 |         static INIT_ARRAYS: Once = ONCE_INIT;
[INFO] [stderr]    |                                    ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated constant
[INFO] [stderr]    |
[INFO] [stderr] 88 |         static INIT_ARRAYS: Once = Once::new();
[INFO] [stderr]    |                                    ~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/utils/notation.rs:87:5
[INFO] [stderr]    |
[INFO] [stderr] 87 | /     lazy_static! {
[INFO] [stderr] 88 | |         static ref RE: Regex = Regex::new(r"^[a-h][1-8]$").unwrap();
[INFO] [stderr] 89 | |     }
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/engine.rs:611:1
[INFO] [stderr]     |
[INFO] [stderr] 611 | / lazy_static! {
[INFO] [stderr] 612 | |     static ref ENGINE: Mutex<Option<EngineInfo>> = Mutex::new(None);
[INFO] [stderr] 613 | |     static ref CHANGED_DEFAULTS: RwLock<Vec<(&'static str, &'static str)>> = RwLock::new(vec![]);
[INFO] [stderr] 614 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/simple_search.rs:355:47
[INFO] [stderr]     |
[INFO] [stderr] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]  --> src/stock/std_move_generator.rs:3:15
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::mem::uninitialized;
[INFO] [stderr]   |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/stock/std_move_generator.rs:37:33
[INFO] [stderr]    |
[INFO] [stderr] 37 |             evaluator: unsafe { uninitialized() },
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stderr]     |
[INFO] [stderr] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stderr]     |
[INFO] [stderr] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stderr]     |
[INFO] [stderr] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stderr]     |
[INFO] [stderr] 870 |             dest_sets = uninitialized();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/stock/std_time_manager.rs:175:1
[INFO] [stderr]     |
[INFO] [stderr] 175 | / lazy_static! {
[INFO] [stderr] 176 | |     static ref AVG_SLOPE: RwLock<f64> = RwLock::new(0.7);
[INFO] [stderr] 177 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/stock/deepening/mod.rs:160:9
[INFO] [stderr]     |
[INFO] [stderr] 160 | /         lazy_static! {
[INFO] [stderr] 161 | |             static ref RE: Regex = Regex::new(r"^TARGET_DEPTH=([-+]?\d+)$").unwrap();
[INFO] [stderr] 162 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/moves.rs:387:5
[INFO] [stderr]     |
[INFO] [stderr] 387 | /     lazy_static! {
[INFO] [stderr] 388 | |         static ref NOTATION: Vec<String> = (0..64).map(|i| format!("{}{}",
[INFO] [stderr] 389 | |             ["a", "b", "c", "d", "e", "f", "g", "h"][Board::file(i)],
[INFO] [stderr] 390 | |             ["1", "2", "3", "4", "5", "6", "7", "8"][Board::rank(i)])
[INFO] [stderr] 391 | |         ).collect();
[INFO] [stderr] 392 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]  --> src/move_generator.rs:3:15
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::mem::uninitialized;
[INFO] [stderr]   |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stderr]    --> src/move_generator.rs:206:41
[INFO] [stderr]     |
[INFO] [stderr] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:300:9
[INFO] [stderr]     |
[INFO] [stderr] 300 | /         lazy_static! {
[INFO] [stderr] 301 | |             static ref RE: Regex = Regex::new(r"\buci(?:\s|$)").unwrap();
[INFO] [stderr] 302 | |         }
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:490:5
[INFO] [stderr]     |
[INFO] [stderr] 490 | /     lazy_static! {
[INFO] [stderr] 491 | |         static ref RE: Regex = Regex::new(
[INFO] [stderr] 492 | |             format!(r"\b({})\s*(?:\s(.*)|$)",
[INFO] [stderr] 493 | |                     "setoption|isready|ucinewgame|\
[INFO] [stderr] ...   |
[INFO] [stderr] 496 | |         ).unwrap();
[INFO] [stderr] 497 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:519:5
[INFO] [stderr]     |
[INFO] [stderr] 519 | /     lazy_static! {
[INFO] [stderr] 520 | |         static ref RE: Regex = Regex::new(
[INFO] [stderr] 521 | |             r"^name\s+(\S.*?)(?:\s+value\s+(.*?))?\s*$").unwrap();
[INFO] [stderr] 522 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:536:5
[INFO] [stderr]     |
[INFO] [stderr] 536 | /     lazy_static! {
[INFO] [stderr] 537 | |         static ref RE: Regex = Regex::new(
[INFO] [stderr] 538 | |             format!(
[INFO] [stderr] 539 | |                 r"^(?:fen\s+(?P<fen>{})|startpos)(?:\s+moves(?P<moves>{}))?\s*$",
[INFO] [stderr] ...   |
[INFO] [stderr] 543 | |         ).unwrap();
[INFO] [stderr] 544 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]    --> src/uci.rs:564:5
[INFO] [stderr]     |
[INFO] [stderr] 564 | /     lazy_static! {
[INFO] [stderr] 565 | |         static ref RE: Regex = Regex::new(
[INFO] [stderr] 566 | |             format!(
[INFO] [stderr] 567 | |                 r"\b(?P<keyword>{})(?:\s+(?P<number>\d+)|(?P<moves>{}))?(?:\s+|$)",
[INFO] [stderr] ...   |
[INFO] [stderr] 572 | |         ).unwrap();
[INFO] [stderr] 573 | |     }
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/stock/simple_search.rs:152:30
[INFO] [stderr]     |
[INFO] [stderr] 152 |     report_function: &'a mut FnMut(u64) -> bool,
[INFO] [stderr]     |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 152 |     report_function: &'a mut dyn FnMut(u64) -> bool,
[INFO] [stderr]     |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/engine.rs:233:51
[INFO] [stderr]     |
[INFO] [stderr] 233 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>) {
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 233 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>) {
[INFO] [stderr]     |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/stock/simple_search.rs:169:41
[INFO] [stderr]     |
[INFO] [stderr] 169 |                report_function: &'a mut FnMut(u64) -> bool)
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 169 |                report_function: &'a mut dyn FnMut(u64) -> bool)
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/stock/std_search_node.rs:69:44
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 69 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard> {
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/search_node.rs:50:44
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn from_history(fen: &str, moves: &mut Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 50 |     fn from_history(fen: &str, moves: &mut dyn Iterator<Item = &str>) -> Result<Self, IllegalBoard>;
[INFO] [stderr]    |                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/uci.rs:244:51
[INFO] [stderr]     |
[INFO] [stderr] 244 |     fn position(&mut self, fen: &str, moves: &mut Iterator<Item = &str>);
[INFO] [stderr]     |                                                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 244 |     fn position(&mut self, fen: &str, moves: &mut dyn Iterator<Item = &str>);
[INFO] [stderr]     |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: mutable reference of mutable static is discouraged
[INFO] [stderr]    --> src/utils/board_geometry.rs:214:63
[INFO] [stderr]     |
[INFO] [stderr] 214 |             let bishop_attacks_size = init_slider_map(BISHOP, &mut BISHOP_MAP, 0, false);
[INFO] [stderr]     |                                                               ^^^^^^^^^^^^^^^ mutable reference of mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stderr]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stderr]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stderr]     = note: `#[warn(static_mut_ref)]` on by default
[INFO] [stderr] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 214 |             let bishop_attacks_size = init_slider_map(BISHOP, addr_of_mut!(BISHOP_MAP), 0, false);
[INFO] [stderr]     |                                                               ~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: mutable reference of mutable static is discouraged
[INFO] [stderr]    --> src/utils/board_geometry.rs:215:52
[INFO] [stderr]     |
[INFO] [stderr] 215 |             let total_size = init_slider_map(ROOK, &mut ROOK_MAP, bishop_attacks_size, false);
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^ mutable reference of mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stderr]     = note: reference of mutable static is a hard error from 2024 edition
[INFO] [stderr]     = note: mutable statics can be written to by multiple threads: aliasing violations or data races will cause undefined behavior
[INFO] [stderr] help: mutable references are dangerous since if there's any other pointer or reference used for that static while the reference lives, that's UB; use `addr_of_mut!` instead to create a raw pointer
[INFO] [stderr]     |
[INFO] [stderr] 215 |             let total_size = init_slider_map(ROOK, addr_of_mut!(ROOK_MAP), bishop_attacks_size, false);
[INFO] [stderr]     |                                                    ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/stock/std_ttable.rs:172:17
[INFO] [stderr]     |
[INFO] [stderr] 172 | /                 format!("too restrictive transposition table entry alignment: {} bytes",
[INFO] [stderr] 173 | |                         mem::align_of::<T>()));
[INFO] [stderr]     | |_____________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 172 ~                 "too restrictive transposition table entry alignment: {} bytes",
[INFO] [stderr] 173 ~                         mem::align_of::<T>());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/stock/std_ttable.rs:175:17
[INFO] [stderr]     |
[INFO] [stderr] 175 | /                 format!("too big transposition table entry: {} bytes",
[INFO] [stderr] 176 | |                         mem::size_of::<T>()));
[INFO] [stderr]     | |____________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 175 ~                 "too big transposition table entry: {} bytes",
[INFO] [stderr] 176 ~                         mem::size_of::<T>());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/stock/std_ttable.rs:178:17
[INFO] [stderr]     |
[INFO] [stderr] 178 | /                 format!("too small transposition table entry: {} bytes",
[INFO] [stderr] 179 | |                         mem::size_of::<T>()));
[INFO] [stderr]     | |____________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `assert!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 178 ~                 "too small transposition table entry: {} bytes",
[INFO] [stderr] 179 ~                         mem::size_of::<T>());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: the type `bool` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/simple_search.rs:355:42
[INFO] [stderr]     |
[INFO] [stderr] 355 |                       is_check: unsafe { mem::uninitialized() }, // We will initialize this soon!
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                          |
[INFO] [stderr]     |                                          this code causes undefined behavior when executed
[INFO] [stderr]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: booleans must be either `true` or `false`
[INFO] [stderr]     = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `Option<moves::Move>` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/std_move_generator.rs:299:43
[INFO] [stderr]     |
[INFO] [stderr] 299 |         let mut generated_move = unsafe { uninitialized() };
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                           |
[INFO] [stderr]     |                                           this code causes undefined behavior when executed
[INFO] [stderr]     |                                           help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr] note: enums with multiple inhabited variants have to be initialized to a variant
[INFO] [stderr]    --> /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/option.rs:570:1
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/std_move_generator.rs:416:52
[INFO] [stderr]     |
[INFO] [stderr] 416 |                 let mut dest_sets: [Bitboard; 4] = uninitialized();
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                                    |
[INFO] [stderr]     |                                                    this code causes undefined behavior when executed
[INFO] [stderr]     |                                                    help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/std_move_generator.rs:498:42
[INFO] [stderr]     |
[INFO] [stderr] 498 |         let mut old_hash: u64 = unsafe { uninitialized() };
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                          |
[INFO] [stderr]     |                                          this code causes undefined behavior when executed
[INFO] [stderr]     |                                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[u64; 4]` does not permit being left uninitialized
[INFO] [stderr]    --> src/stock/std_move_generator.rs:870:25
[INFO] [stderr]     |
[INFO] [stderr] 870 |             dest_sets = uninitialized();
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         this code causes undefined behavior when executed
[INFO] [stderr]     |                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `[i16; 34]` does not permit being left uninitialized
[INFO] [stderr]    --> src/move_generator.rs:206:41
[INFO] [stderr]     |
[INFO] [stderr] 206 |             let mut gain: [Value; 34] = uninitialized();
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |                                         |
[INFO] [stderr]     |                                         this code causes undefined behavior when executed
[INFO] [stderr]     |                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]     |
[INFO] [stderr]     = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]     --> src/stock/std_move_generator.rs:1253:42
[INFO] [stderr]      |
[INFO] [stderr] 1253 |             StdMoveGenerator::from_board(try!(Board::from_fen(fen)))
[INFO] [stderr]      |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/stock/std_ttable.rs:443:17
[INFO] [stderr]     |
[INFO] [stderr] 443 |             let mut record = b.get(0).as_mut().unwrap();
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/stock/std_ttable.rs:464:17
[INFO] [stderr]     |
[INFO] [stderr] 464 |             let mut record = b.get(4).as_mut().unwrap();
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: `alcibiades` (lib) generated 84 warnings (1 duplicate) (run `cargo fix --lib -p alcibiades` to apply 18 suggestions)
[INFO] [stderr] warning: `alcibiades` (lib test) generated 87 warnings (84 duplicates) (run `cargo fix --lib -p alcibiades --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/alcibiades-d468be9667dae85c)
[INFO] [stdout] 
[INFO] [stdout] running 41 tests
[INFO] [stdout] test bitsets::tests::bitsets ... ok
[INFO] [stdout] test board::tests::castling_rights ... ok
[INFO] [stdout] test moves::tests::moves ... ok
[INFO] [stdout] test stock::std_move_generator::tests::piece_type_constants ... ok
[INFO] [stderr] thread 'stock::std_move_generator::tests::try_move_digest' panicked at library/core/src/panicking.rs:155:5:
[INFO] [stderr] attempted to leave type `core::option::Option<moves::Move>` uninitialized, which is invalid
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x55825701b766 - std::backtrace_rs::backtrace::libunwind::trace::h140b6deb6a45c671
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stderr]    1:     0x55825701b766 - std::backtrace_rs::backtrace::trace_unsynchronized::h8450d7e4e9219aed
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stderr]    2:     0x55825701b766 - std::sys_common::backtrace::_print_fmt::hbd28e5e6c6fc3a3f
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stderr]    3:     0x55825701b766 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb058f285768cf98e
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stderr]    4:     0x558257044450 - core::fmt::rt::Argument::fmt::h87dec7a95127da24
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/rt.rs:142:9
[INFO] [stderr]    5:     0x558257044450 - core::fmt::write::h873f89a91a4832db
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/fmt/mod.rs:1120:17
[INFO] [stderr]    6:     0x55825701904f - std::io::Write::write_fmt::hc65183f01d14754a
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/io/mod.rs:1846:15
[INFO] [stderr]    7:     0x55825701b544 - std::sys_common::backtrace::_print::h7719d1529d9a9e13
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stderr]    8:     0x55825701b544 - std::sys_common::backtrace::print::haa3afbd0e7947108
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stderr]    9:     0x55825701d2b7 - std::panicking::default_hook::{{closure}}::h10e3de2ec0eaff22
[INFO] [stderr]   10:     0x55825701d019 - std::panicking::default_hook::hbdc1b1b7fe073dab
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:292:9
[INFO] [stderr]   11:     0x558256eb6157 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h20f7887d7cd0a330
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stderr]   12:     0x558256eb6157 - test::test_main::{{closure}}::hc125a615957b5cb1
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:138:21
[INFO] [stderr]   13:     0x55825701d8d6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c19e0590f8443c4
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2029:9
[INFO] [stderr]   14:     0x55825701d8d6 - std::panicking::rust_panic_with_hook::hb81692602460473d
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:785:13
[INFO] [stderr]   15:     0x55825701d5e9 - std::panicking::begin_panic_handler::{{closure}}::h2470593aa2678e9c
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:651:13
[INFO] [stderr]   16:     0x55825701bc66 - std::sys_common::backtrace::__rust_end_short_backtrace::h560bb50225b0562b
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stderr]   17:     0x55825701d374 - rust_begin_unwind
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:647:5
[INFO] [stderr]   18:     0x558256e2cd7a - core::panicking::panic_nounwind_fmt::runtime::h9a82b8c2c912b221
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:110:18
[INFO] [stderr]   19:     0x558256e2cd7a - core::panicking::panic_nounwind_fmt::h49d13f23841ef5db
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:122:9
[INFO] [stderr]   20:     0x558256e2ce29 - core::panicking::panic_nounwind::h4cd799baa29ab9f2
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panicking.rs:155:5
[INFO] [stderr]   21:     0x558256e33c6f - core::mem::uninitialized::h77a1760019ceb760
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/mem/mod.rs:693:9
[INFO] [stderr]   22:     0x558256e33c6f - <alcibiades::stock::std_move_generator::StdMoveGenerator<T> as alcibiades::move_generator::MoveGenerator>::try_move_digest::h108589ed14aa4a2c
[INFO] [stderr]                                at /opt/rustwide/workdir/src/stock/std_move_generator.rs:299:43
[INFO] [stderr]   23:     0x558256e5aeee - alcibiades::stock::std_move_generator::tests::try_move_digest::try_all::h6da9b61e5cd1eac6
[INFO] [stderr]                                at /opt/rustwide/workdir/src/stock/std_move_generator.rs:1603:34
[INFO] [stderr]   24:     0x558256e5aa61 - alcibiades::stock::std_move_generator::tests::try_move_digest::h12ea4d407d149288
[INFO] [stderr]                                at /opt/rustwide/workdir/src/stock/std_move_generator.rs:1619:9
[INFO] [stderr]   25:     0x558256e5a8c7 - alcibiades::stock::std_move_generator::tests::try_move_digest::{{closure}}::heaf4d65bb7468bf7
[INFO] [stderr]                                at /opt/rustwide/workdir/src/stock/std_move_generator.rs:1597:25
[INFO] [stderr]   26:     0x558256e5d0e6 - core::ops::function::FnOnce::call_once::ha876942fec644b96
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   27:     0x558256ebbd4f - core::ops::function::FnOnce::call_once::h692fe6f34484199f
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   28:     0x558256ebbd4f - test::__rust_begin_short_backtrace::h48b62e76bd60e2de
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:621:18
[INFO] [stderr]   29:     0x558256ebab71 - test::run_test_in_process::{{closure}}::h1c68597526ef43db
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:60
[INFO] [stderr]   30:     0x558256ebab71 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hcae98092997f976b
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   31:     0x558256ebab71 - std::panicking::try::do_call::h8d1548c2f5bb535a
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stderr]   32:     0x558256ebab71 - std::panicking::try::hbb7a2054f484688e
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stderr]   33:     0x558256ebab71 - std::panic::catch_unwind::h696d12d9d80497c2
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stderr]   34:     0x558256ebab71 - test::run_test_in_process::h053367a7217c825b
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:644:27
[INFO] [stderr]   35:     0x558256ebab71 - test::run_test::{{closure}}::hfa524e9fabcba78e
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:567:43
[INFO] [stderr]   36:     0x558256e81fd6 - test::run_test::{{closure}}::h2c4d0bb741ef7f9f
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/test/src/lib.rs:595:41
[INFO] [stderr]   37:     0x558256e81fd6 - std::sys_common::backtrace::__rust_begin_short_backtrace::h0d2c708415550075
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stderr]   38:     0x558256e86f97 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h76e2635840d7293f
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:529:17
[INFO] [stderr]   39:     0x558256e86f97 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::haa640b67a810a214
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stderr]   40:     0x558256e86f97 - std::panicking::try::do_call::h41892e3bc2807ab5
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:554:40
[INFO] [stderr]   41:     0x558256e86f97 - std::panicking::try::h861a16d180681c80
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panicking.rs:518:19
[INFO] [stderr]   42:     0x558256e86f97 - std::panic::catch_unwind::h8195f9064b1509fa
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/panic.rs:142:14
[INFO] [stderr]   43:     0x558256e86f97 - std::thread::Builder::spawn_unchecked_::{{closure}}::h73cc419da1217371
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/thread/mod.rs:528:30
[INFO] [stderr]   44:     0x558256e86f97 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h79dc6499ff073b09
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   45:     0x558257021c85 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha718e8cdc51a5182
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stderr]   46:     0x558257021c85 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h86072abc877c5474
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/alloc/src/boxed.rs:2015:9
[INFO] [stderr]   47:     0x558257021c85 - std::sys::pal::unix::thread::Thread::new::thread_start::hac4056197c365894
[INFO] [stderr]                                at /rustc/f2048098a1ca42a520e7bed68e321a66edc0a1b1/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stderr]   48:     0x7f579299cac3 - <unknown>
[INFO] [stderr]   49:     0x7f5792a2dbf4 - __clone
[INFO] [stderr]   50:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/alcibiades-d468be9667dae85c` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "415ae263d8302973c80be697717eb8cfec35b2c9069b282a49f1031b8d77e166", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "415ae263d8302973c80be697717eb8cfec35b2c9069b282a49f1031b8d77e166", kill_on_drop: false }`
[INFO] [stdout] 415ae263d8302973c80be697717eb8cfec35b2c9069b282a49f1031b8d77e166
