[INFO] fetching crate alcibiades 0.3.0... [INFO] testing alcibiades-0.3.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] extracting crate alcibiades 0.3.0 into /workspace/builds/worker-4-tc1/source [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] validating manifest of crates.io crate alcibiades 0.3.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 19 packages to latest compatible versions [INFO] [stderr] Adding lazy_static v0.2.11 (available: v1.5.0) [INFO] [stderr] Adding rand v0.3.23 (available: v0.9.2) [INFO] [stderr] Adding regex v0.2.11 (available: v1.12.2) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ucd-util v0.1.10 [INFO] [stderr] Downloaded utf8-ranges v1.0.5 [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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 95d0334c6e59baa610209ee9d5640ba671754859c1bed310becf7201b432f1f8 [INFO] running `Command { std: "docker" "start" "-a" "95d0334c6e59baa610209ee9d5640ba671754859c1bed310becf7201b432f1f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "95d0334c6e59baa610209ee9d5640ba671754859c1bed310becf7201b432f1f8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95d0334c6e59baa610209ee9d5640ba671754859c1bed310becf7201b432f1f8", kill_on_drop: false }` [INFO] [stdout] 95d0334c6e59baa610209ee9d5640ba671754859c1bed310becf7201b432f1f8 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 361fd129ae20403b48ffb87c32341f1195e075273903df7865ff40da27ac366c [INFO] running `Command { std: "docker" "start" "-a" "361fd129ae20403b48ffb87c32341f1195e075273903df7865ff40da27ac366c", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling ucd-util v0.1.10 [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 thread_local v0.3.6 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling regex-syntax v0.5.6 [INFO] [stderr] Compiling rand v0.3.23 [INFO] [stderr] Compiling aho-corasick v0.6.10 [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::().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::().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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) 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 [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 [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 = 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)]` (part of `#[warn(unused)]`) 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::::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 `Once::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> = 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 `Once::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 `Once::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_INIT; [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 `Once::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 `Once::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_INIT; [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 `Once::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 `Once::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> = Mutex::new(None); [INFO] [stdout] 613 | | static ref CHANGED_DEFAULTS: RwLock> = 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 `Once::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> = Mutex::new(None); [INFO] [stdout] 613 | | static ref CHANGED_DEFAULTS: RwLock> = 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 `Once::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 = 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 `Once::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 `Once::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 = (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 `Once::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 `Once::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 `Once::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 `Once::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{})|startpos)(?:\s+moves(?P{}))?\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 `Once::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{})(?:\s+(?P\d+)|(?P{}))?(?:\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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, 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/search_node.rs:50:44 [INFO] [stdout] | [INFO] [stdout] 50 | fn from_history(fen: &str, moves: &mut Iterator) -> Result; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | fn from_history(fen: &str, moves: &mut dyn Iterator) -> Result; [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); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 244 | fn position(&mut self, fen: &str, moves: &mut dyn Iterator); [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) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn position(&mut self, fen: &str, moves: &mut dyn Iterator) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, 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) -> Result { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 | fn from_history(fen: &str, moves: &mut dyn Iterator) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [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 to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] help: use `&raw mut` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 214 | let bishop_attacks_size = init_slider_map(BISHOP, &raw mut BISHOP_MAP, 0, false); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [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 to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] help: use `&raw mut` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 215 | let total_size = init_slider_map(ROOK, &raw mut ROOK_MAP, bishop_attacks_size, false); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | GEOMETRY.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | BISHOP_MAP.get_unchecked(from_square).attacks(occupied) | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | ROOK_MAP.get_unchecked(from_square).attacks(occupied) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:286:21 [INFO] [stdout] | [INFO] [stdout] 286 | ROOK => ROOK_MAP.get_unchecked(from_square).attacks(occupied), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:287:23 [INFO] [stdout] | [INFO] [stdout] 287 | BISHOP => BISHOP_MAP.get_unchecked(from_square).attacks(occupied), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:288:24 [INFO] [stdout] | [INFO] [stdout] 288 | KNIGHT => *KNIGHT_ATTACKS.get_unchecked(from_square), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:289:19 [INFO] [stdout] | [INFO] [stdout] 289 | _ => *KING_ATTACKS.get_unchecked(from_square), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:334:10 [INFO] [stdout] | [INFO] [stdout] 334 | *SLIDER_ATTACKS.get_unchecked(self.offset.wrapping_add(index as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:344:25 [INFO] [stdout] | [INFO] [stdout] 344 | for (i, attacks) in KNIGHT_ATTACKS.iter_mut().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:361:25 [INFO] [stdout] | [INFO] [stdout] 361 | for (i, attacks) in KING_ATTACKS.iter_mut().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/zobrist_arrays.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | ARRAYS.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [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::())); [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 [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)]` (part of `#[warn(rust_2021_compatibility)]`) 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::()); [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::())); [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 [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::()); [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::())); [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 [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::()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stdout] --> src/stock/std_ttable.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | mem::transmute::(addr) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stdout] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stdout] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stdout] = help: for more information about transmute, see [INFO] [stdout] = help: for more information about exposed provenance, see [INFO] [stdout] = note: `#[warn(integer_to_ptr_transmutes)]` on by default [INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stdout] | [INFO] [stdout] 194 - mem::transmute::(addr) [INFO] [stdout] 194 + std::ptr::with_exposed_provenance_mut::(addr) [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` 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` 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` 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/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/option.rs:599:0 [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` 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` 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` 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` 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] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.96s [INFO] running `Command { std: "docker" "inspect" "361fd129ae20403b48ffb87c32341f1195e075273903df7865ff40da27ac366c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "361fd129ae20403b48ffb87c32341f1195e075273903df7865ff40da27ac366c", kill_on_drop: false }` [INFO] [stdout] 361fd129ae20403b48ffb87c32341f1195e075273903df7865ff40da27ac366c [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4aa244982c1198195630529388e09fbbb80bdf36754196f5b089f75f04025bfb [INFO] running `Command { std: "docker" "start" "-a" "4aa244982c1198195630529388e09fbbb80bdf36754196f5b089f75f04025bfb", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [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::().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::().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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) 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 [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 [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 = 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)]` (part of `#[warn(unused)]`) 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::::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 `Once::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> = 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 `Once::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 `Once::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_INIT; [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 `Once::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 `Once::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_INIT; [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 `Once::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 `Once::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> = Mutex::new(None); [INFO] [stdout] 613 | | static ref CHANGED_DEFAULTS: RwLock> = 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 `Once::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> = Mutex::new(None); [INFO] [stdout] 613 | | static ref CHANGED_DEFAULTS: RwLock> = 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 `Once::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 = 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 `Once::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 `Once::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 = (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 `Once::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 `Once::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 `Once::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 `Once::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{})|startpos)(?:\s+moves(?P{}))?\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 `Once::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{})(?:\s+(?P\d+)|(?P{}))?(?:\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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, 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/search_node.rs:50:44 [INFO] [stdout] | [INFO] [stdout] 50 | fn from_history(fen: &str, moves: &mut Iterator) -> Result; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | fn from_history(fen: &str, moves: &mut dyn Iterator) -> Result; [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); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 244 | fn position(&mut self, fen: &str, moves: &mut dyn Iterator); [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) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn position(&mut self, fen: &str, moves: &mut dyn Iterator) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, 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) -> Result { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 | fn from_history(fen: &str, moves: &mut dyn Iterator) -> Result { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [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 to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] help: use `&raw mut` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 214 | let bishop_attacks_size = init_slider_map(BISHOP, &raw mut BISHOP_MAP, 0, false); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [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 to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] help: use `&raw mut` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 215 | let total_size = init_slider_map(ROOK, &raw mut ROOK_MAP, bishop_attacks_size, false); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | GEOMETRY.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | BISHOP_MAP.get_unchecked(from_square).attacks(occupied) | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | ROOK_MAP.get_unchecked(from_square).attacks(occupied) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:286:21 [INFO] [stdout] | [INFO] [stdout] 286 | ROOK => ROOK_MAP.get_unchecked(from_square).attacks(occupied), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:287:23 [INFO] [stdout] | [INFO] [stdout] 287 | BISHOP => BISHOP_MAP.get_unchecked(from_square).attacks(occupied), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:288:24 [INFO] [stdout] | [INFO] [stdout] 288 | KNIGHT => *KNIGHT_ATTACKS.get_unchecked(from_square), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:289:19 [INFO] [stdout] | [INFO] [stdout] 289 | _ => *KING_ATTACKS.get_unchecked(from_square), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:334:10 [INFO] [stdout] | [INFO] [stdout] 334 | *SLIDER_ATTACKS.get_unchecked(self.offset.wrapping_add(index as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:344:25 [INFO] [stdout] | [INFO] [stdout] 344 | for (i, attacks) in KNIGHT_ATTACKS.iter_mut().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:361:25 [INFO] [stdout] | [INFO] [stdout] 361 | for (i, attacks) in KING_ATTACKS.iter_mut().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/zobrist_arrays.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | ARRAYS.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [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::())); [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 [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)]` (part of `#[warn(rust_2021_compatibility)]`) 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::()); [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::())); [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 [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::()); [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::())); [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 [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::()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stdout] --> src/stock/std_ttable.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | mem::transmute::(addr) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stdout] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stdout] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stdout] = help: for more information about transmute, see [INFO] [stdout] = help: for more information about exposed provenance, see [INFO] [stdout] = note: `#[warn(integer_to_ptr_transmutes)]` on by default [INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stdout] | [INFO] [stdout] 194 - mem::transmute::(addr) [INFO] [stdout] 194 + std::ptr::with_exposed_provenance_mut::(addr) [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` 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` 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` 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/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/option.rs:599:0 [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` 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` 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` 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` 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: 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::().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::().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 [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) 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 [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 [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 = 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)]` (part of `#[warn(unused)]`) 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::::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 `Once::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> = 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 `Once::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 `Once::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_INIT; [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 `Once::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 `Once::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_INIT; [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 `Once::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 `Once::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> = Mutex::new(None); [INFO] [stdout] 613 | | static ref CHANGED_DEFAULTS: RwLock> = 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 `Once::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> = Mutex::new(None); [INFO] [stdout] 613 | | static ref CHANGED_DEFAULTS: RwLock> = 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 `Once::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 = 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 `Once::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 `Once::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 = (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 `Once::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 `Once::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 `Once::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 `Once::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{})|startpos)(?:\s+moves(?P{}))?\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 `Once::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{})(?:\s+(?P\d+)|(?P{}))?(?:\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 [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, 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/search_node.rs:50:44 [INFO] [stdout] | [INFO] [stdout] 50 | fn from_history(fen: &str, moves: &mut Iterator) -> Result; [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 50 | fn from_history(fen: &str, moves: &mut dyn Iterator) -> Result; [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); [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 244 | fn position(&mut self, fen: &str, moves: &mut dyn Iterator); [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) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 233 | fn position(&mut self, fen: &str, moves: &mut dyn Iterator) { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, 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) -> Result { [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 [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 | fn from_history(fen: &str, moves: &mut dyn Iterator) -> Result { [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)]` (part of `#[warn(unused)]`) 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: creating a mutable reference to mutable static [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 to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] help: use `&raw mut` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 214 | let bishop_attacks_size = init_slider_map(BISHOP, &raw mut BISHOP_MAP, 0, false); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [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 to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] help: use `&raw mut` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 215 | let total_size = init_slider_map(ROOK, &raw mut ROOK_MAP, bishop_attacks_size, false); [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | GEOMETRY.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:283:17 [INFO] [stdout] | [INFO] [stdout] 283 | BISHOP_MAP.get_unchecked(from_square).attacks(occupied) | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | ROOK_MAP.get_unchecked(from_square).attacks(occupied) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:286:21 [INFO] [stdout] | [INFO] [stdout] 286 | ROOK => ROOK_MAP.get_unchecked(from_square).attacks(occupied), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:287:23 [INFO] [stdout] | [INFO] [stdout] 287 | BISHOP => BISHOP_MAP.get_unchecked(from_square).attacks(occupied), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:288:24 [INFO] [stdout] | [INFO] [stdout] 288 | KNIGHT => *KNIGHT_ATTACKS.get_unchecked(from_square), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:289:19 [INFO] [stdout] | [INFO] [stdout] 289 | _ => *KING_ATTACKS.get_unchecked(from_square), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:334:10 [INFO] [stdout] | [INFO] [stdout] 334 | *SLIDER_ATTACKS.get_unchecked(self.offset.wrapping_add(index as usize)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:344:25 [INFO] [stdout] | [INFO] [stdout] 344 | for (i, attacks) in KNIGHT_ATTACKS.iter_mut().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/utils/board_geometry.rs:361:25 [INFO] [stdout] | [INFO] [stdout] 361 | for (i, attacks) in KING_ATTACKS.iter_mut().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/utils/zobrist_arrays.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | ARRAYS.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [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::())); [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 [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)]` (part of `#[warn(rust_2021_compatibility)]`) 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::()); [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::())); [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 [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::()); [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::())); [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 [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::()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stdout] --> src/stock/std_ttable.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | mem::transmute::(addr) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stdout] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stdout] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stdout] = help: for more information about transmute, see [INFO] [stdout] = help: for more information about exposed provenance, see [INFO] [stdout] = note: `#[warn(integer_to_ptr_transmutes)]` on by default [INFO] [stdout] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stdout] | [INFO] [stdout] 194 - mem::transmute::(addr) [INFO] [stdout] 194 + std::ptr::with_exposed_provenance_mut::(addr) [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` 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` 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` 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/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/option.rs:599:0 [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` 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` 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` 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` 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] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.17s [INFO] running `Command { std: "docker" "inspect" "4aa244982c1198195630529388e09fbbb80bdf36754196f5b089f75f04025bfb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4aa244982c1198195630529388e09fbbb80bdf36754196f5b089f75f04025bfb", kill_on_drop: false }` [INFO] [stdout] 4aa244982c1198195630529388e09fbbb80bdf36754196f5b089f75f04025bfb [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 33468060569d71d79930fde6d4d1f4b6439745dd6734428f3b03a11fb097e0c5 [INFO] running `Command { std: "docker" "start" "-a" "33468060569d71d79930fde6d4d1f4b6439745dd6734428f3b03a11fb097e0c5", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [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::().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::().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 [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) 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 [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 [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 = 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)]` (part of `#[warn(unused)]`) 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::::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 `Once::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> = 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 `Once::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 `Once::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_INIT; [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 `Once::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 `Once::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_INIT; [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 `Once::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 `Once::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> = Mutex::new(None); [INFO] [stderr] 613 | | static ref CHANGED_DEFAULTS: RwLock> = 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 `Once::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 = 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 `Once::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 `Once::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 = (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 `Once::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 `Once::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 `Once::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 `Once::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{})|startpos)(?:\s+moves(?P{}))?\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 `Once::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{})(?:\s+(?P\d+)|(?P{}))?(?:\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 [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, 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/search_node.rs:50:44 [INFO] [stderr] | [INFO] [stderr] 50 | fn from_history(fen: &str, moves: &mut Iterator) -> Result; [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 50 | fn from_history(fen: &str, moves: &mut dyn Iterator) -> Result; [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); [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 244 | fn position(&mut self, fen: &str, moves: &mut dyn Iterator); [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) { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 233 | fn position(&mut self, fen: &str, moves: &mut dyn Iterator) { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, 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) -> Result { [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 [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 69 | fn from_history(fen: &str, moves: &mut dyn Iterator) -> Result { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [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 to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stderr] help: use `&raw mut` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 214 | let bishop_attacks_size = init_slider_map(BISHOP, &raw mut BISHOP_MAP, 0, false); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [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 to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] help: use `&raw mut` instead to create a raw pointer [INFO] [stderr] | [INFO] [stderr] 215 | let total_size = init_slider_map(ROOK, &raw mut ROOK_MAP, bishop_attacks_size, false); [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:233:13 [INFO] [stderr] | [INFO] [stderr] 233 | GEOMETRY.as_ref().unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:283:17 [INFO] [stderr] | [INFO] [stderr] 283 | BISHOP_MAP.get_unchecked(from_square).attacks(occupied) | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:284:17 [INFO] [stderr] | [INFO] [stderr] 284 | ROOK_MAP.get_unchecked(from_square).attacks(occupied) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:286:21 [INFO] [stderr] | [INFO] [stderr] 286 | ROOK => ROOK_MAP.get_unchecked(from_square).attacks(occupied), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:287:23 [INFO] [stderr] | [INFO] [stderr] 287 | BISHOP => BISHOP_MAP.get_unchecked(from_square).attacks(occupied), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:288:24 [INFO] [stderr] | [INFO] [stderr] 288 | KNIGHT => *KNIGHT_ATTACKS.get_unchecked(from_square), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:289:19 [INFO] [stderr] | [INFO] [stderr] 289 | _ => *KING_ATTACKS.get_unchecked(from_square), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:334:10 [INFO] [stderr] | [INFO] [stderr] 334 | *SLIDER_ATTACKS.get_unchecked(self.offset.wrapping_add(index as usize)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:344:25 [INFO] [stderr] | [INFO] [stderr] 344 | for (i, attacks) in KNIGHT_ATTACKS.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a mutable reference to mutable static [INFO] [stderr] --> src/utils/board_geometry.rs:361:25 [INFO] [stderr] | [INFO] [stderr] 361 | for (i, attacks) in KING_ATTACKS.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/utils/zobrist_arrays.rs:92:13 [INFO] [stderr] | [INFO] [stderr] 92 | ARRAYS.as_ref().unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stderr] | [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [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::())); [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 [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)]` (part of `#[warn(rust_2021_compatibility)]`) 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::()); [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::())); [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 [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::()); [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::())); [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 [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::()); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: transmuting an integer to a pointer creates a pointer without provenance [INFO] [stderr] --> src/stock/std_ttable.rs:194:13 [INFO] [stderr] | [INFO] [stderr] 194 | mem::transmute::(addr) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this is dangerous because dereferencing the resulting pointer is undefined behavior [INFO] [stderr] = note: exposed provenance semantics can be used to create a pointer based on some previously exposed provenance [INFO] [stderr] = help: if you truly mean to create a pointer without provenance, use `std::ptr::without_provenance_mut` [INFO] [stderr] = help: for more information about transmute, see [INFO] [stderr] = help: for more information about exposed provenance, see [INFO] [stderr] = note: `#[warn(integer_to_ptr_transmutes)]` on by default [INFO] [stderr] help: use `std::ptr::with_exposed_provenance_mut` instead to use a previously exposed provenance [INFO] [stderr] | [INFO] [stderr] 194 - mem::transmute::(addr) [INFO] [stderr] 194 + std::ptr::with_exposed_provenance_mut::(addr) [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` 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` 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` 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/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/option.rs:599:0 [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` 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` 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` 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` 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)]` (part of `#[warn(unused)]`) 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 96 warnings (1 duplicate) (run `cargo fix --lib -p alcibiades` to apply 19 suggestions) [INFO] [stderr] warning: `alcibiades` (lib test) generated 99 warnings (96 duplicates) (run `cargo fix --lib -p alcibiades --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/alcibiades-35b8b548129d9af1) [INFO] [stdout] [INFO] [stdout] running 41 tests [INFO] [stdout] test board::tests::castling_rights ... ok [INFO] [stdout] test moves::tests::moves ... ok [INFO] [stdout] test bitsets::tests::bitsets ... ok [INFO] [stderr] [INFO] [stderr] thread 'stock::std_move_generator::tests::move_into_check_bug' (27) panicked at library/core/src/panicking.rs:230:5: [INFO] [stderr] attempted to leave type `core::option::Option` uninitialized, which is invalid [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x62e318cfdea2 - std::backtrace_rs::backtrace::libunwind::trace::ha50a1f28c7a10cf8 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stderr] 1: 0x62e318cfdea2 - std::backtrace_rs::backtrace::trace_unsynchronized::h34f8c4ec82a320bc [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stderr] 2: 0x62e318cfdea2 - std::sys::backtrace::_print_fmt::h2d23e84e13d343bc [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:66:9 [INFO] [stderr] 3: 0x62e318cfdea2 - ::fmt::hde21067283f7e82e [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:39:26 [INFO] [stderr] 4: 0x62e318d0eacf - core::fmt::rt::Argument::fmt::he65307037dca33c6 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/fmt/rt.rs:173:76 [INFO] [stderr] 5: 0x62e318d0eacf - core::fmt::write::h24186904251c31cb [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/fmt/mod.rs:1469:25 [INFO] [stderr] 6: 0x62e318ccb713 - std::io::default_write_fmt::hdc5d19b6df666f61 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/io/mod.rs:639:11 [INFO] [stderr] 7: 0x62e318ccb713 - std::io::Write::write_fmt::h3ab9f1f4d8d19b72 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/io/mod.rs:1954:13 [INFO] [stderr] 8: 0x62e318cd75e2 - std::sys::backtrace::BacktraceLock::print::he038489aba5894a6 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:42:9 [INFO] [stderr] 9: 0x62e318cdc11f - std::panicking::default_hook::{{closure}}::h80a26d916c49679b [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:301:27 [INFO] [stderr] 10: 0x62e318cdbf79 - std::panicking::default_hook::he2e9efee79b3dce9 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:328:9 [INFO] [stderr] 11: 0x62e318b86eae - as core::ops::function::Fn>::call::h202f496763929329 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2099:9 [INFO] [stderr] 12: 0x62e318b86eae - test::test_main_with_exit_callback::{{closure}}::h805a6913adddaea3 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:145:21 [INFO] [stderr] 13: 0x62e318cdc72f - as core::ops::function::Fn>::call::h2883c9d2dbd4e81c [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2099:9 [INFO] [stderr] 14: 0x62e318cdc72f - std::panicking::panic_with_hook::hf5648b7cec6bc73e [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:842:13 [INFO] [stderr] 15: 0x62e318cdc556 - std::panicking::panic_handler::{{closure}}::h1b2ed3864ba94359 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:700:13 [INFO] [stderr] 16: 0x62e318cd7729 - std::sys::backtrace::__rust_end_short_backtrace::hd0186b2b27f5aaa7 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:174:18 [INFO] [stderr] 17: 0x62e318cc000d - __rustc[f7dae8b92efe1d7a]::rust_begin_unwind [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:698:5 [INFO] [stderr] 18: 0x62e318d165ad - core::panicking::panic_nounwind_fmt::runtime::hd682c7f4ebed7044 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panicking.rs:122:22 [INFO] [stderr] 19: 0x62e318d165ad - core::panicking::panic_nounwind_fmt::he05c47de4e511442 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/intrinsics/mod.rs:2439:9 [INFO] [stderr] 20: 0x62e318d164f2 - core::panicking::panic_nounwind::hd6ce171689acaf96 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panicking.rs:230:5 [INFO] [stderr] 21: 0x62e318b23a7f - core::mem::uninitialized::h1bce64d77118ba10 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/mem/mod.rs:712:9 [INFO] [stderr] 22: 0x62e318b23a7f - as alcibiades::move_generator::MoveGenerator>::try_move_digest::hb4ebb24be69a7f73 [INFO] [stderr] at /opt/rustwide/workdir/src/stock/std_move_generator.rs:299:43 [INFO] [stderr] 23: 0x62e318b264bf - as alcibiades::move_generator::MoveGenerator>::do_move::h7a81fb3dc8b69729 [INFO] [stderr] at /opt/rustwide/workdir/src/stock/std_move_generator.rs:517:43 [INFO] [stderr] 24: 0x62e318b2b8bf - alcibiades::stock::std_move_generator::tests::move_into_check_bug::hddd50ec1a3fa1ed7 [INFO] [stderr] at /opt/rustwide/workdir/src/stock/std_move_generator.rs:1592:11 [INFO] [stderr] 25: 0x62e318b2b937 - alcibiades::stock::std_move_generator::tests::move_into_check_bug::{{closure}}::h2ef65dbd77642ffe [INFO] [stderr] at /opt/rustwide/workdir/src/stock/std_move_generator.rs:1586:29 [INFO] [stderr] 26: 0x62e318b47466 - core::ops::function::FnOnce::call_once::h7c5c568471b6396d [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 27: 0x62e318b86d1b - core::ops::function::FnOnce::call_once::h3a2d82edd1a9b770 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 28: 0x62e318b86d1b - test::__rust_begin_short_backtrace::h85d4fe5033219107 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:663:18 [INFO] [stderr] 29: 0x62e318b9ad0d - test::run_test_in_process::{{closure}}::h67b48a81b9c9d7b6 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:686:74 [INFO] [stderr] 30: 0x62e318b9ad0d - as core::ops::function::FnOnce<()>>::call_once::h7680585480377cb5 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stderr] 31: 0x62e318b9ad0d - std::panicking::catch_unwind::do_call::hf71351b2657d4002 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:590:40 [INFO] [stderr] 32: 0x62e318b9ad0d - std::panicking::catch_unwind::h7fcb5c0312d9e172 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:553:19 [INFO] [stderr] 33: 0x62e318b9ad0d - std::panic::catch_unwind::h5cf3c9bdee894ebe [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panic.rs:359:14 [INFO] [stderr] 34: 0x62e318b9ad0d - test::run_test_in_process::h1469cb85193a3a25 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:686:27 [INFO] [stderr] 35: 0x62e318b9ad0d - test::run_test::{{closure}}::h59d45b3cd6453d69 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:607:43 [INFO] [stderr] 36: 0x62e318b74254 - test::run_test::{{closure}}::h9baa0c3d443f28c9 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/test/src/lib.rs:637:41 [INFO] [stderr] 37: 0x62e318b74254 - std::sys::backtrace::__rust_begin_short_backtrace::h97ea8cee4828663e [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/backtrace.rs:158:18 [INFO] [stderr] 38: 0x62e318b77aaa - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h5d7539d5f78cee61 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/thread/mod.rs:562:17 [INFO] [stderr] 39: 0x62e318b77aaa - as core::ops::function::FnOnce<()>>::call_once::he4c551e23c5e9b22 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stderr] 40: 0x62e318b77aaa - std::panicking::catch_unwind::do_call::h522b41a6c157aaba [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:590:40 [INFO] [stderr] 41: 0x62e318b77aaa - std::panicking::catch_unwind::h0efbf72006b8e365 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panicking.rs:553:19 [INFO] [stderr] 42: 0x62e318b77aaa - std::panic::catch_unwind::h3b081041e6c97066 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/panic.rs:359:14 [INFO] [stderr] 43: 0x62e318b77aaa - std::thread::Builder::spawn_unchecked_::{{closure}}::ha751309815d5d8cf [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/thread/mod.rs:560:30 [INFO] [stderr] 44: 0x62e318b77aaa - core::ops::function::FnOnce::call_once{{vtable.shim}}::h2084b887a5fe25a7 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 45: 0x62e318cd2b1f - as core::ops::function::FnOnce>::call_once::h3adbd6ccf5f737af [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/alloc/src/boxed.rs:2085:9 [INFO] [stderr] 46: 0x62e318cd2b1f - std::sys::thread::unix::Thread::new::thread_start::hb3dc6483caa1b987 [INFO] [stderr] at /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/sys/thread/unix.rs:124:17 [INFO] [stderr] 47: 0x7d9dfb35aaa4 - [INFO] [stderr] 48: 0x7d9dfb3e7a64 - clone [INFO] [stderr] 49: 0x0 - [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-35b8b548129d9af1` (signal: 6, SIGABRT: process abort signal) [INFO] running `Command { std: "docker" "inspect" "33468060569d71d79930fde6d4d1f4b6439745dd6734428f3b03a11fb097e0c5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33468060569d71d79930fde6d4d1f4b6439745dd6734428f3b03a11fb097e0c5", kill_on_drop: false }` [INFO] [stdout] 33468060569d71d79930fde6d4d1f4b6439745dd6734428f3b03a11fb097e0c5