[INFO] fetching crate rsffish 0.0.20... [INFO] checking rsffish-0.0.20 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate rsffish 0.0.20 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate rsffish 0.0.20 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate rsffish 0.0.20 [INFO] finished tweaking crates.io crate rsffish 0.0.20 [INFO] tweaked toml for crates.io crate rsffish 0.0.20 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 27 packages to latest compatible versions [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 06fde0dbac1bdd72657590b95415a44e0aee8000fee6888c96c67a78feb4cfe0 [INFO] running `Command { std: "docker" "start" "-a" "06fde0dbac1bdd72657590b95415a44e0aee8000fee6888c96c67a78feb4cfe0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "06fde0dbac1bdd72657590b95415a44e0aee8000fee6888c96c67a78feb4cfe0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "06fde0dbac1bdd72657590b95415a44e0aee8000fee6888c96c67a78feb4cfe0", kill_on_drop: false }` [INFO] [stdout] 06fde0dbac1bdd72657590b95415a44e0aee8000fee6888c96c67a78feb4cfe0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ac66d54de13d1ebbeb406a24309d33c82b29c82caf81ef0020720ddd93018b6d [INFO] running `Command { std: "docker" "start" "-a" "ac66d54de13d1ebbeb406a24309d33c82b29c82caf81ef0020720ddd93018b6d", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling scratch v1.0.7 [INFO] [stderr] Compiling cxxbridge-flags v1.0.128 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling link-cplusplus v1.0.9 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling cxx v1.0.128 [INFO] [stderr] Compiling codespan-reporting v0.11.1 [INFO] [stderr] Compiling cxx-build v1.0.128 [INFO] [stderr] Compiling cxxbridge-macro v1.0.128 [INFO] [stderr] Compiling rsffish v0.0.20 (/tmp/fixit) [INFO] [stderr] Migrating build.rs from 2021 edition to 2024 [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp: In member function 'void fairystockfish::Position::init(std::string, bool)': [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:286:67: warning: unused parameter '_isChess960' [-Wunused-parameter] [INFO] [stderr] warning: rsffish@0.0.20: 286 | void fairystockfish::Position::init(std::string startingFen, bool _isChess960) { [INFO] [stderr] warning: rsffish@0.0.20: | ~~~~~^~~~~~~~~~~ [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp: In member function 'fairystockfish::Position::SFPositionPtr fairystockfish::Position::copyPosition(const SFPositionConstPtr&) const': [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:324:16: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'using element_type = std::remove_extent::type' {aka 'class Stockfish::Position'} with no trivial copy-assignment [-Wclass-memaccess] [INFO] [stderr] warning: rsffish@0.0.20: 324 | std::memcpy(p.get(), ptr.get(), sizeof(Stockfish::Position)); [INFO] [stderr] warning: rsffish@0.0.20: | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: rsffish@0.0.20: In file included from deps/Fairy-Stockfish-Lib/vendor/Fairy-Stockfish/src/apiutil.h:31, [INFO] [stderr] warning: rsffish@0.0.20: from deps/Fairy-Stockfish-Lib/src/fairystockfish.h:4, [INFO] [stderr] warning: rsffish@0.0.20: from deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:1: [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/vendor/Fairy-Stockfish/src/position.h:106:7: note: 'using element_type = std::remove_extent::type' {aka 'class Stockfish::Position'} declared here [INFO] [stderr] warning: rsffish@0.0.20: 106 | class Position { [INFO] [stderr] warning: rsffish@0.0.20: | ^~~~~~~~ [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rsffish` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/lib.rs:176:18 [INFO] [stderr] | [INFO] [stderr] 170 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 176 | fn init()unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 462 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/lib.rs:176:18 [INFO] [stderr] | [INFO] [stderr] 176 | fn init()unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `ffi` [INFO] [stderr] --> src/lib.rs:645:9 [INFO] [stderr] | [INFO] [stderr] 645 | pub use ffi::{ [INFO] [stderr] | ^^^ help: a similar path exists: `std::ffi` [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0432`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:230:46 [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:407:62 [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:439:54 [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:176:18 [INFO] [stdout] | [INFO] [stdout] 176 | fn init(); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:182:31 [INFO] [stdout] | [INFO] [stdout] 182 | fn version() -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:183:18 [INFO] [stdout] | [INFO] [stdout] 183 | fn info(); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:184:55 [INFO] [stdout] | [INFO] [stdout] 184 | fn setUCIOption(name: &String, value: &String); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:185:46 [INFO] [stdout] | [INFO] [stdout] 185 | fn loadVariantConfig(config: &String); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:197:46 [INFO] [stdout] | [INFO] [stdout] 197 | fn availableVariants() -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:215:54 [INFO] [stdout] | [INFO] [stdout] 215 | fn initialFen(variantName: &String) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:230:47 [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:240:43 [INFO] [stdout] | [INFO] [stdout] 240 | fn availablePieceChars() -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:250:53 [INFO] [stdout] | [INFO] [stdout] 250 | fn availablePromotablePieceChars() -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:263:85 [INFO] [stdout] | [INFO] [stdout] 263 | fn validateFEN(variantName: &String, fen: &String, isChess960: bool) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:318:78 [INFO] [stdout] | [INFO] [stdout] 318 | fn to960Uci(variantName: &String, moves: &Vec) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:322:91 [INFO] [stdout] | [INFO] [stdout] 322 | fn startingPosition(variantName: &String, isChess960: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:327:33 [INFO] [stdout] | [INFO] [stdout] 327 | ) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:328:82 [INFO] [stdout] | [INFO] [stdout] 328 | fn makeMoves(self: &Position, moves: &Vec) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:340:45 [INFO] [stdout] | [INFO] [stdout] 340 | fn getFEN(self: &Position) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:346:20 [INFO] [stdout] | [INFO] [stdout] 346 | ) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:366:57 [INFO] [stdout] | [INFO] [stdout] 366 | fn getLegalMoves(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:368:59 [INFO] [stdout] | [INFO] [stdout] 368 | fn getSAN(self: &Position, uci: &String) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:369:91 [INFO] [stdout] | [INFO] [stdout] 369 | fn getSANWithNotation(self: &Position, uci: &String, notation: Notation) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:370:74 [INFO] [stdout] | [INFO] [stdout] 370 | fn getSANMoves(self: &Position, uci: &Vec) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:375:25 [INFO] [stdout] | [INFO] [stdout] 375 | ) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:407:63 [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:439:55 [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:441:47 [INFO] [stdout] | [INFO] [stdout] 441 | fn givesCheck(self: &Position) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:442:48 [INFO] [stdout] | [INFO] [stdout] 442 | fn hasRepeated(self: &Position) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:443:53 [INFO] [stdout] | [INFO] [stdout] 443 | fn isDraw(self: &Position, ply: u32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:444:59 [INFO] [stdout] | [INFO] [stdout] 444 | fn hasGameCycle(self: &Position, ply: u32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:458:46 [INFO] [stdout] | [INFO] [stdout] 458 | fn gameResult(self: &Position) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:459:69 [INFO] [stdout] | [INFO] [stdout] 459 | fn isImmediateGameEnd(self: &Position) -> TestWithGameResult; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:460:68 [INFO] [stdout] | [INFO] [stdout] 460 | fn isOptionalGameEnd(self: &Position) -> TestWithGameResult; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:461:69 [INFO] [stdout] | [INFO] [stdout] 461 | fn hasInsufficientMaterial(self: &Position) -> TestByPlayers; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:322:90 [INFO] [stdout] | [INFO] [stdout] 322 | fn startingPosition(variantName: &String, isChess960: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 36 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rsffish` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/lib.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: expected one of `->`, `;`, `where`, or `{`, found keyword `unsafe` [INFO] [stderr] --> src/lib.rs:176:18 [INFO] [stderr] | [INFO] [stderr] 170 | unsafe extern "C++" { [INFO] [stderr] | - while parsing this item list starting here [INFO] [stderr] ... [INFO] [stderr] 176 | fn init()unsafe ; [INFO] [stderr] | ^^^^^^ expected one of `->`, `;`, `where`, or `{` [INFO] [stderr] ... [INFO] [stderr] 462 | } [INFO] [stderr] | - the item list ends here [INFO] [stderr] [INFO] [stderr] error: expected `;` [INFO] [stderr] --> src/lib.rs:176:18 [INFO] [stderr] | [INFO] [stderr] 176 | fn init()unsafe ; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `ffi` [INFO] [stderr] --> src/lib.rs:645:9 [INFO] [stderr] | [INFO] [stderr] 645 | pub use ffi::{ [INFO] [stderr] | ^^^ help: a similar path exists: `std::ffi` [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0432`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:230:46 [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] = note: `--force-warn unsafe-attr-outside-unsafe` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:407:62 [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:439:54 [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123757 [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:176:18 [INFO] [stdout] | [INFO] [stdout] 176 | fn init(); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] = note: `--force-warn missing-unsafe-on-extern` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:182:31 [INFO] [stdout] | [INFO] [stdout] 182 | fn version() -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:183:18 [INFO] [stdout] | [INFO] [stdout] 183 | fn info(); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:184:55 [INFO] [stdout] | [INFO] [stdout] 184 | fn setUCIOption(name: &String, value: &String); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:185:46 [INFO] [stdout] | [INFO] [stdout] 185 | fn loadVariantConfig(config: &String); [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:197:46 [INFO] [stdout] | [INFO] [stdout] 197 | fn availableVariants() -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:215:54 [INFO] [stdout] | [INFO] [stdout] 215 | fn initialFen(variantName: &String) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:230:47 [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:240:43 [INFO] [stdout] | [INFO] [stdout] 240 | fn availablePieceChars() -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:250:53 [INFO] [stdout] | [INFO] [stdout] 250 | fn availablePromotablePieceChars() -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:263:85 [INFO] [stdout] | [INFO] [stdout] 263 | fn validateFEN(variantName: &String, fen: &String, isChess960: bool) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:318:78 [INFO] [stdout] | [INFO] [stdout] 318 | fn to960Uci(variantName: &String, moves: &Vec) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:322:91 [INFO] [stdout] | [INFO] [stdout] 322 | fn startingPosition(variantName: &String, isChess960: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:327:33 [INFO] [stdout] | [INFO] [stdout] 327 | ) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:328:82 [INFO] [stdout] | [INFO] [stdout] 328 | fn makeMoves(self: &Position, moves: &Vec) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:340:45 [INFO] [stdout] | [INFO] [stdout] 340 | fn getFEN(self: &Position) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:346:20 [INFO] [stdout] | [INFO] [stdout] 346 | ) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.05s [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:366:57 [INFO] [stdout] | [INFO] [stdout] 366 | fn getLegalMoves(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:368:59 [INFO] [stdout] | [INFO] [stdout] 368 | fn getSAN(self: &Position, uci: &String) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:369:91 [INFO] [stdout] | [INFO] [stdout] 369 | fn getSANWithNotation(self: &Position, uci: &String, notation: Notation) -> String; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:370:74 [INFO] [stdout] | [INFO] [stdout] 370 | fn getSANMoves(self: &Position, uci: &Vec) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:375:25 [INFO] [stdout] | [INFO] [stdout] 375 | ) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:407:63 [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:439:55 [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:441:47 [INFO] [stdout] | [INFO] [stdout] 441 | fn givesCheck(self: &Position) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:442:48 [INFO] [stdout] | [INFO] [stdout] 442 | fn hasRepeated(self: &Position) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:443:53 [INFO] [stdout] | [INFO] [stdout] 443 | fn isDraw(self: &Position, ply: u32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:444:59 [INFO] [stdout] | [INFO] [stdout] 444 | fn hasGameCycle(self: &Position, ply: u32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:458:46 [INFO] [stdout] | [INFO] [stdout] 458 | fn gameResult(self: &Position) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:459:69 [INFO] [stdout] | [INFO] [stdout] 459 | fn isImmediateGameEnd(self: &Position) -> TestWithGameResult; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:460:68 [INFO] [stdout] | [INFO] [stdout] 460 | fn isOptionalGameEnd(self: &Position) -> TestWithGameResult; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:461:69 [INFO] [stdout] | [INFO] [stdout] 461 | fn hasInsufficientMaterial(self: &Position) -> TestByPlayers; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: extern blocks should be unsafe [INFO] [stdout] --> src/lib.rs:322:90 [INFO] [stdout] | [INFO] [stdout] 322 | fn startingPosition(variantName: &String, isChess960: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | help: needs `unsafe` before the extern keyword: `unsafe` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #123743 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 36 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Compiling rsffish v0.0.20 (/tmp/fixit) [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp: In member function 'void fairystockfish::Position::init(std::string, bool)': [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:286:67: warning: unused parameter '_isChess960' [-Wunused-parameter] [INFO] [stderr] warning: rsffish@0.0.20: 286 | void fairystockfish::Position::init(std::string startingFen, bool _isChess960) { [INFO] [stderr] warning: rsffish@0.0.20: | ~~~~~^~~~~~~~~~~ [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp: In member function 'fairystockfish::Position::SFPositionPtr fairystockfish::Position::copyPosition(const SFPositionConstPtr&) const': [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:324:16: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'using element_type = std::remove_extent::type' {aka 'class Stockfish::Position'} with no trivial copy-assignment [-Wclass-memaccess] [INFO] [stderr] warning: rsffish@0.0.20: 324 | std::memcpy(p.get(), ptr.get(), sizeof(Stockfish::Position)); [INFO] [stderr] warning: rsffish@0.0.20: | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: rsffish@0.0.20: In file included from deps/Fairy-Stockfish-Lib/vendor/Fairy-Stockfish/src/apiutil.h:31, [INFO] [stderr] warning: rsffish@0.0.20: from deps/Fairy-Stockfish-Lib/src/fairystockfish.h:4, [INFO] [stderr] warning: rsffish@0.0.20: from deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:1: [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/vendor/Fairy-Stockfish/src/position.h:106:7: note: 'using element_type = std::remove_extent::type' {aka 'class Stockfish::Position'} declared here [INFO] [stderr] warning: rsffish@0.0.20: 106 | class Position { [INFO] [stderr] warning: rsffish@0.0.20: | ^~~~~~~~ [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:176:18 [INFO] [stdout] | [INFO] [stdout] 176 | fn init(); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:182:31 [INFO] [stdout] | [INFO] [stdout] 182 | fn version() -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:183:18 [INFO] [stdout] | [INFO] [stdout] 183 | fn info(); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:184:55 [INFO] [stdout] | [INFO] [stdout] 184 | fn setUCIOption(name: &String, value: &String); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:185:46 [INFO] [stdout] | [INFO] [stdout] 185 | fn loadVariantConfig(config: &String); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:197:46 [INFO] [stdout] | [INFO] [stdout] 197 | fn availableVariants() -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:215:54 [INFO] [stdout] | [INFO] [stdout] 215 | fn initialFen(variantName: &String) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:230:47 [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:240:43 [INFO] [stdout] | [INFO] [stdout] 240 | fn availablePieceChars() -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:250:53 [INFO] [stdout] | [INFO] [stdout] 250 | fn availablePromotablePieceChars() -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:263:85 [INFO] [stdout] | [INFO] [stdout] 263 | fn validateFEN(variantName: &String, fen: &String, isChess960: bool) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:318:78 [INFO] [stdout] | [INFO] [stdout] 318 | fn to960Uci(variantName: &String, moves: &Vec) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:322:91 [INFO] [stdout] | [INFO] [stdout] 322 | fn startingPosition(variantName: &String, isChess960: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:327:33 [INFO] [stdout] | [INFO] [stdout] 327 | ) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:328:82 [INFO] [stdout] | [INFO] [stdout] 328 | fn makeMoves(self: &Position, moves: &Vec) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:340:45 [INFO] [stdout] | [INFO] [stdout] 340 | fn getFEN(self: &Position) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:346:20 [INFO] [stdout] | [INFO] [stdout] 346 | ) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:366:57 [INFO] [stdout] | [INFO] [stdout] 366 | fn getLegalMoves(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:368:59 [INFO] [stdout] | [INFO] [stdout] 368 | fn getSAN(self: &Position, uci: &String) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:369:91 [INFO] [stdout] | [INFO] [stdout] 369 | fn getSANWithNotation(self: &Position, uci: &String, notation: Notation) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:370:74 [INFO] [stdout] | [INFO] [stdout] 370 | fn getSANMoves(self: &Position, uci: &Vec) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:375:25 [INFO] [stdout] | [INFO] [stdout] 375 | ) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:407:63 [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:439:55 [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:441:47 [INFO] [stdout] | [INFO] [stdout] 441 | fn givesCheck(self: &Position) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:442:48 [INFO] [stdout] | [INFO] [stdout] 442 | fn hasRepeated(self: &Position) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:443:53 [INFO] [stdout] | [INFO] [stdout] 443 | fn isDraw(self: &Position, ply: u32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:444:59 [INFO] [stdout] | [INFO] [stdout] 444 | fn hasGameCycle(self: &Position, ply: u32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:458:46 [INFO] [stdout] | [INFO] [stdout] 458 | fn gameResult(self: &Position) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:459:69 [INFO] [stdout] | [INFO] [stdout] 459 | fn isImmediateGameEnd(self: &Position) -> TestWithGameResult; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:460:68 [INFO] [stdout] | [INFO] [stdout] 460 | fn isOptionalGameEnd(self: &Position) -> TestWithGameResult; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:461:69 [INFO] [stdout] | [INFO] [stdout] 461 | fn hasInsufficientMaterial(self: &Position) -> TestByPlayers; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:322:90 [INFO] [stdout] | [INFO] [stdout] 322 | fn startingPosition(variantName: &String, isChess960: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:176:18 [INFO] [stdout] | [INFO] [stdout] 176 | fn init(); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:230:46 [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:407:62 [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:439:54 [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:182:31 [INFO] [stdout] | [INFO] [stdout] 182 | fn version() -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:183:18 [INFO] [stdout] | [INFO] [stdout] 183 | fn info(); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:184:55 [INFO] [stdout] | [INFO] [stdout] 184 | fn setUCIOption(name: &String, value: &String); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:185:46 [INFO] [stdout] | [INFO] [stdout] 185 | fn loadVariantConfig(config: &String); [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:197:46 [INFO] [stdout] | [INFO] [stdout] 197 | fn availableVariants() -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:215:54 [INFO] [stdout] | [INFO] [stdout] 215 | fn initialFen(variantName: &String) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:230:47 [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:240:43 [INFO] [stdout] | [INFO] [stdout] 240 | fn availablePieceChars() -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:250:53 [INFO] [stdout] | [INFO] [stdout] 250 | fn availablePromotablePieceChars() -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:263:85 [INFO] [stdout] | [INFO] [stdout] 263 | fn validateFEN(variantName: &String, fen: &String, isChess960: bool) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:318:78 [INFO] [stdout] | [INFO] [stdout] 318 | fn to960Uci(variantName: &String, moves: &Vec) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:322:91 [INFO] [stdout] | [INFO] [stdout] 322 | fn startingPosition(variantName: &String, isChess960: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:327:33 [INFO] [stdout] | [INFO] [stdout] 327 | ) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:328:82 [INFO] [stdout] | [INFO] [stdout] 328 | fn makeMoves(self: &Position, moves: &Vec) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:340:45 [INFO] [stdout] | [INFO] [stdout] 340 | fn getFEN(self: &Position) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:346:20 [INFO] [stdout] | [INFO] [stdout] 346 | ) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:366:57 [INFO] [stdout] | [INFO] [stdout] 366 | fn getLegalMoves(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:368:59 [INFO] [stdout] | [INFO] [stdout] 368 | fn getSAN(self: &Position, uci: &String) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:369:91 [INFO] [stdout] | [INFO] [stdout] 369 | fn getSANWithNotation(self: &Position, uci: &String, notation: Notation) -> String; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:370:74 [INFO] [stdout] | [INFO] [stdout] 370 | fn getSANMoves(self: &Position, uci: &Vec) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:375:25 [INFO] [stdout] | [INFO] [stdout] 375 | ) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:407:63 [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:439:55 [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:441:47 [INFO] [stdout] | [INFO] [stdout] 441 | fn givesCheck(self: &Position) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:442:48 [INFO] [stdout] | [INFO] [stdout] 442 | fn hasRepeated(self: &Position) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:443:53 [INFO] [stdout] | [INFO] [stdout] 443 | fn isDraw(self: &Position, ply: u32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:444:59 [INFO] [stdout] | [INFO] [stdout] 444 | fn hasGameCycle(self: &Position, ply: u32) -> bool; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:458:46 [INFO] [stdout] | [INFO] [stdout] 458 | fn gameResult(self: &Position) -> i32; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:459:69 [INFO] [stdout] | [INFO] [stdout] 459 | fn isImmediateGameEnd(self: &Position) -> TestWithGameResult; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:460:68 [INFO] [stdout] | [INFO] [stdout] 460 | fn isOptionalGameEnd(self: &Position) -> TestWithGameResult; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:461:69 [INFO] [stdout] | [INFO] [stdout] 461 | fn hasInsufficientMaterial(self: &Position) -> TestByPlayers; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: extern blocks must be unsafe [INFO] [stdout] --> src/lib.rs:322:90 [INFO] [stdout] | [INFO] [stdout] 322 | fn startingPosition(variantName: &String, isChess960: bool) -> UniquePtr; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:230:46 [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 230 | fn availablePieces() -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:407:62 [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 407 | fn piecesOnBoard(self: &Position) -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: unsafe attribute used without unsafe [INFO] [stdout] --> src/lib.rs:439:54 [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec; [INFO] [stdout] | ^ usage of unsafe attribute [INFO] [stdout] | [INFO] [stdout] help: wrap the attribute in `unsafe(...)` [INFO] [stdout] | [INFO] [stdout] 439 | fn piecesInHand(self: &Position) -> Vec); [INFO] [stdout] | +++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 36 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] The following warnings were emitted during compilation: [INFO] [stderr] [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp: In member function 'void fairystockfish::Position::init(std::string, bool)': [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:286:67: warning: unused parameter '_isChess960' [-Wunused-parameter] [INFO] [stderr] warning: rsffish@0.0.20: 286 | void fairystockfish::Position::init(std::string startingFen, bool _isChess960) { [INFO] [stderr] warning: rsffish@0.0.20: | ~~~~~^~~~~~~~~~~ [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp: In member function 'fairystockfish::Position::SFPositionPtr fairystockfish::Position::copyPosition(const SFPositionConstPtr&) const': [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:324:16: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'using element_type = std::remove_extent::type' {aka 'class Stockfish::Position'} with no trivial copy-assignment [-Wclass-memaccess] [INFO] [stderr] warning: rsffish@0.0.20: 324 | std::memcpy(p.get(), ptr.get(), sizeof(Stockfish::Position)); [INFO] [stderr] warning: rsffish@0.0.20: | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: rsffish@0.0.20: In file included from deps/Fairy-Stockfish-Lib/vendor/Fairy-Stockfish/src/apiutil.h:31, [INFO] [stderr] warning: rsffish@0.0.20: from deps/Fairy-Stockfish-Lib/src/fairystockfish.h:4, [INFO] [stderr] warning: rsffish@0.0.20: from deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:1: [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/vendor/Fairy-Stockfish/src/position.h:106:7: note: 'using element_type = std::remove_extent::type' {aka 'class Stockfish::Position'} declared here [INFO] [stderr] warning: rsffish@0.0.20: 106 | class Position { [INFO] [stderr] warning: rsffish@0.0.20: | ^~~~~~~~ [INFO] [stderr] [INFO] [stderr] error: could not compile `rsffish` (lib) due to 37 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 36 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] The following warnings were emitted during compilation: [INFO] [stderr] [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp: In member function 'void fairystockfish::Position::init(std::string, bool)': [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:286:67: warning: unused parameter '_isChess960' [-Wunused-parameter] [INFO] [stderr] warning: rsffish@0.0.20: 286 | void fairystockfish::Position::init(std::string startingFen, bool _isChess960) { [INFO] [stderr] warning: rsffish@0.0.20: | ~~~~~^~~~~~~~~~~ [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp: In member function 'fairystockfish::Position::SFPositionPtr fairystockfish::Position::copyPosition(const SFPositionConstPtr&) const': [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:324:16: warning: 'void* memcpy(void*, const void*, size_t)' writing to an object of type 'using element_type = std::remove_extent::type' {aka 'class Stockfish::Position'} with no trivial copy-assignment [-Wclass-memaccess] [INFO] [stderr] warning: rsffish@0.0.20: 324 | std::memcpy(p.get(), ptr.get(), sizeof(Stockfish::Position)); [INFO] [stderr] warning: rsffish@0.0.20: | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [INFO] [stderr] warning: rsffish@0.0.20: In file included from deps/Fairy-Stockfish-Lib/vendor/Fairy-Stockfish/src/apiutil.h:31, [INFO] [stderr] warning: rsffish@0.0.20: from deps/Fairy-Stockfish-Lib/src/fairystockfish.h:4, [INFO] [stderr] warning: rsffish@0.0.20: from deps/Fairy-Stockfish-Lib/src/fairystockfish.cpp:1: [INFO] [stderr] warning: rsffish@0.0.20: deps/Fairy-Stockfish-Lib/vendor/Fairy-Stockfish/src/position.h:106:7: note: 'using element_type = std::remove_extent::type' {aka 'class Stockfish::Position'} declared here [INFO] [stderr] warning: rsffish@0.0.20: 106 | class Position { [INFO] [stderr] warning: rsffish@0.0.20: | ^~~~~~~~ [INFO] [stderr] [INFO] [stderr] error: could not compile `rsffish` (lib test) due to 37 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "ac66d54de13d1ebbeb406a24309d33c82b29c82caf81ef0020720ddd93018b6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ac66d54de13d1ebbeb406a24309d33c82b29c82caf81ef0020720ddd93018b6d", kill_on_drop: false }` [INFO] [stdout] ac66d54de13d1ebbeb406a24309d33c82b29c82caf81ef0020720ddd93018b6d