[INFO] fetching crate chess 3.2.0... [INFO] testing chess-3.2.0 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate chess 3.2.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate chess 3.2.0 [INFO] finished tweaking crates.io crate chess 3.2.0 [INFO] tweaked toml for crates.io crate chess 3.2.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate chess 3.2.0 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 38 packages to latest compatible versions [INFO] [stderr] Adding arrayvec v0.5.2 (available: v0.7.6) [INFO] [stderr] Adding rand v0.7.3 (available: v0.9.2) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `rand` dependency) [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d0cc01f2304921c340bd74e013b7238b9ffd7f86a7b9c3951036db7fdd6b337a [INFO] running `Command { std: "docker" "start" "-a" "d0cc01f2304921c340bd74e013b7238b9ffd7f86a7b9c3951036db7fdd6b337a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d0cc01f2304921c340bd74e013b7238b9ffd7f86a7b9c3951036db7fdd6b337a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0cc01f2304921c340bd74e013b7238b9ffd7f86a7b9c3951036db7fdd6b337a", kill_on_drop: false }` [INFO] [stdout] d0cc01f2304921c340bd74e013b7238b9ffd7f86a7b9c3951036db7fdd6b337a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 789887a4079a0245b6d5a2233ae0049c8fe501b94561cbc83988e703553fd0e9 [INFO] running `Command { std: "docker" "start" "-a" "789887a4079a0245b6d5a2233ae0049c8fe501b94561cbc83988e703553fd0e9", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `rand` dependency) [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rustc-demangle v0.1.26 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling nodrop v0.1.14 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling backtrace v0.3.75 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling chess v3.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gen_tables/magic.rs:165:56 [INFO] [stdout] | [INFO] [stdout] 165 | write!(f, "const MOVES: [BitBoard; {}] = [\n", GENERATED_NUM_MOVES).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] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gen_tables/ranks_files.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | EDGES.0 [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: unused import: `self::piece_type::*` [INFO] [stdout] --> src/movegen/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use self::piece_type::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods [INFO] [stdout] --> src/movegen/piece_type.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[inline(always)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[inline]` can be applied to functions, inherent methods, provided trait methods, trait methods in impl blocks, and closures [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `is` is never used [INFO] [stdout] --> src/movegen/piece_type.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait PieceType { [INFO] [stdout] | --------- associated function in this trait [INFO] [stdout] 15 | fn is(piece: Piece) -> bool; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 1m 16s [INFO] running `Command { std: "docker" "inspect" "789887a4079a0245b6d5a2233ae0049c8fe501b94561cbc83988e703553fd0e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "789887a4079a0245b6d5a2233ae0049c8fe501b94561cbc83988e703553fd0e9", kill_on_drop: false }` [INFO] [stdout] 789887a4079a0245b6d5a2233ae0049c8fe501b94561cbc83988e703553fd0e9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 27cb3fd54b807b1668d6a2ff070f0416e97b3e22e2b778d50179fc2949f504ad [INFO] running `Command { std: "docker" "start" "-a" "27cb3fd54b807b1668d6a2ff070f0416e97b3e22e2b778d50179fc2949f504ad", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `rand` dependency) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gen_tables/magic.rs:165:56 [INFO] [stdout] | [INFO] [stdout] 165 | write!(f, "const MOVES: [BitBoard; {}] = [\n", GENERATED_NUM_MOVES).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] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/gen_tables/ranks_files.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | EDGES.0 [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: unused import: `self::piece_type::*` [INFO] [stdout] --> src/movegen/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use self::piece_type::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods [INFO] [stdout] --> src/movegen/piece_type.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[inline(always)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[inline]` can be applied to functions, inherent methods, provided trait methods, trait methods in impl blocks, and closures [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `is` is never used [INFO] [stdout] --> src/movegen/piece_type.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait PieceType { [INFO] [stdout] | --------- associated function in this trait [INFO] [stdout] 15 | fn is(piece: Piece) -> bool; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling chess v3.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::piece_type::*` [INFO] [stdout] --> src/movegen/mod.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub use self::piece_type::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[inline]` attribute cannot be used on required trait methods [INFO] [stdout] --> src/movegen/piece_type.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | #[inline(always)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = help: `#[inline]` can be applied to functions, inherent methods, provided trait methods, trait methods in impl blocks, and closures [INFO] [stdout] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `is` is never used [INFO] [stdout] --> src/movegen/piece_type.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait PieceType { [INFO] [stdout] | --------- associated function in this trait [INFO] [stdout] 15 | fn is(piece: Piece) -> bool; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Fail` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/error.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stdout] | ^--- [INFO] [stdout] | | [INFO] [stdout] | `Display` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stdout] 5 | pub enum Error { [INFO] [stdout] | ----- `Error` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 6.66s [INFO] running `Command { std: "docker" "inspect" "27cb3fd54b807b1668d6a2ff070f0416e97b3e22e2b778d50179fc2949f504ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27cb3fd54b807b1668d6a2ff070f0416e97b3e22e2b778d50179fc2949f504ad", kill_on_drop: false }` [INFO] [stdout] 27cb3fd54b807b1668d6a2ff070f0416e97b3e22e2b778d50179fc2949f504ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] adcc1b903dc05a1f6b0cb3317c7773cd5d8db856e9dcbd6f5d3bfe930ddf235e [INFO] running `Command { std: "docker" "start" "-a" "adcc1b903dc05a1f6b0cb3317c7773cd5d8db856e9dcbd6f5d3bfe930ddf235e", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `rand` dependency) [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/error.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Fail` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_Fail_FOR_Error` [INFO] [stderr] 5 | pub enum Error { [INFO] [stderr] | ----- `Error` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stderr] --> src/error.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | #[derive(Clone, Debug, Fail)] [INFO] [stderr] | ^--- [INFO] [stderr] | | [INFO] [stderr] | `Display` is not local [INFO] [stderr] | move the `impl` block outside of this constant `_DERIVE_failure_core_fmt_Display_FOR_Error` [INFO] [stderr] 5 | pub enum Error { [INFO] [stderr] | ----- `Error` is not local [INFO] [stderr] | [INFO] [stderr] = note: the derive macro `Fail` defines the non-local `impl`, and may need to be changed [INFO] [stderr] = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive` [INFO] [stderr] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stderr] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stderr] = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/gen_tables/magic.rs:165:56 [INFO] [stderr] | [INFO] [stderr] 165 | write!(f, "const MOVES: [BitBoard; {}] = [\n", GENERATED_NUM_MOVES).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] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: creating a shared reference to mutable static [INFO] [stderr] --> src/gen_tables/ranks_files.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | EDGES.0 [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: `chess` (build script) generated 4 warnings [INFO] [stderr] warning: unused import: `self::piece_type::*` [INFO] [stderr] --> src/movegen/mod.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 5 | pub use self::piece_type::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `#[inline]` attribute cannot be used on required trait methods [INFO] [stderr] --> src/movegen/piece_type.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | #[inline(always)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = help: `#[inline]` can be applied to functions, inherent methods, provided trait methods, trait methods in impl blocks, and closures [INFO] [stderr] = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated function `is` is never used [INFO] [stderr] --> src/movegen/piece_type.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 14 | pub trait PieceType { [INFO] [stderr] | --------- associated function in this trait [INFO] [stderr] 15 | fn is(piece: Piece) -> bool; [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `chess` (lib) generated 5 warnings (2 duplicates) (run `cargo fix --lib -p chess` to apply 2 suggestions) [INFO] [stderr] warning: `chess` (lib test) generated 5 warnings (5 duplicates) [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/chess-6d405843a519488d) [INFO] [stdout] [INFO] [stdout] running 36 tests [INFO] [stdout] test board::test_null_move_en_passant ... ok [INFO] [stdout] test board_builder::check_initial_position ... ok [INFO] [stdout] test board_builder::test_kissing_kings ... ok [INFO] [stdout] test chess_move::test_basic_moves ... ok [INFO] [stdout] test board_builder::test_in_check ... ok [INFO] [stdout] test board_builder::invalid_castle_rights ... ok [INFO] [stdout] test movegen::movegen::movegen_issue_15 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_21 ... ok [INFO] [stdout] test game::test_can_declare_draw ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_20 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_25 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_19 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_22 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_26 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_15 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_1 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_24 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_17 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_12 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_11 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_10 ... ok [INFO] [stdout] test movegen::movegen::test_masked_move_gen ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_16 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_9 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_18 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_6 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_23 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_2 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_5 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_8 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_4 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_13 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_7 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_3 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_14 ... ok [INFO] [stdout] test movegen::movegen::movegen_perft_kiwipete ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.00s [INFO] [stdout] [INFO] [stderr] Doc-tests chess [INFO] [stdout] [INFO] [stdout] running 140 tests [INFO] [stdout] test src/board.rs - board::Board::castle_rights (line 249) ... ok [INFO] [stdout] test src/board.rs - board::Board::make_move (line 875) ... ok [INFO] [stdout] test src/board.rs - board::Board::combined (line 173) ... ok [INFO] [stdout] test src/board.rs - board::Board::make_move_new (line 852) ... ok [INFO] [stdout] test src/board.rs - board::Board::piece_on (line 716) ... ok [INFO] [stdout] test src/bitboard.rs - bitboard::EMPTY (line 31) ... ok [INFO] [stdout] test src/board.rs - board::Board::king_square (line 214) ... ok [INFO] [stdout] test src/bitboard.rs - bitboard::BitBoard (line 11) ... ok [INFO] [stdout] test src/board.rs - board::Board::en_passant (line 779) ... ok [INFO] [stdout] test src/board.rs - board::Board::my_castle_rights (line 337) ... ok [INFO] [stdout] test src/board.rs - board::Board::from_fen (line 79) ... ok [INFO] [stdout] test src/board.rs - board::Board::null_move (line 549) ... ok [INFO] [stdout] test src/board.rs - board::Board::remove_my_castle_rights (line 365) ... ok [INFO] [stdout] test src/board.rs - board::Board::remove_castle_rights (line 301) ... ok [INFO] [stdout] test src/board.rs - board::Board::pieces (line 229) ... ok [INFO] [stdout] test src/board.rs - board::Board::remove_their_castle_rights (line 415) ... ok [INFO] [stdout] test src/board.rs - board::Board::side_to_move (line 324) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::clear_square (line 236) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::en_passant (line 251) ... ok [INFO] [stdout] test src/board.rs - board::Board::is_sane (line 577) ... FAILED [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder (line 23) ... ok [INFO] [stdout] test src/board.rs - board::Board::set_piece (line 447) ... ok [INFO] [stdout] test src/board.rs - board::Board::clear_square (line 498) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::castle_rights (line 191) ... ok [INFO] [stdout] test src/board.rs - board::Board::color_combined (line 193) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::new (line 65) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::get_side_to_move (line 130) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::get_castle_rights (line 142) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::setup (line 89) ... ok [INFO] [stdout] test src/board.rs - board::Board::legal (line 827) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::piece (line 216) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::get_en_passant (line 154) ... ok [INFO] [stdout] test src/chess_move.rs - chess_move::ChessMove::from_san (line 52) ... ok [INFO] [stdout] test src/board_builder.rs - board_builder::BoardBuilder::side_to_move (line 174) ... ok [INFO] [stdout] test src/board.rs - board::Board::their_castle_rights (line 387) ... ok [INFO] [stdout] test src/castle_rights.rs - castle_rights::CastleRights::to_string (line 123) ... ok [INFO] [stdout] test src/chess_move.rs - chess_move::ChessMove (line 405) ... ok [INFO] [stdout] test src/game.rs - game::Game::can_declare_draw (line 175) ... ok [INFO] [stdout] test src/cache_table.rs - cache_table::CacheTable::replace_if (line 63) ... ok [INFO] [stdout] test src/game.rs - game::Game::offer_draw (line 353) ... ok [INFO] [stdout] test src/game.rs - game::Game::declare_draw (line 262) ... ok [INFO] [stdout] test src/game.rs - game::Game::new_from_fen (line 127) ... ok [INFO] [stdout] test src/game.rs - game::Game::resign (line 407) ... ok [INFO] [stdout] test src/game.rs - game::Game::result (line 91) ... ok [INFO] [stdout] test src/game.rs - game::Game::new (line 45) ... ok [INFO] [stdout] test src/game.rs - game::Game::side_to_move (line 322) ... ok [INFO] [stdout] test src/game.rs - game::Game::current_position (line 152) ... ok [INFO] [stdout] test src/game.rs - game::Game::new_with_board (line 60) ... ok [INFO] [stdout] test src/piece.rs - piece::Piece::to_string (line 44) ... ok [INFO] [stdout] test src/square.rs - square::Square::A2 (line 466) ... ok [INFO] [stdout] test src/square.rs - square::Square::A1 (line 394) ... ok [INFO] [stdout] test src/square.rs - square::Square::A3 (line 538) ... ok [INFO] [stdout] test src/square.rs - square::ALL_SQUARES (line 1009) ... ok [INFO] [stdout] test src/square.rs - square::Square::A5 (line 682) ... ok [INFO] [stdout] test src/game.rs - game::Game::make_move (line 299) ... ok [INFO] [stdout] test src/game.rs - game::Game::accept_draw (line 369) ... ok [INFO] [stdout] test src/square.rs - square::Square::A4 (line 610) ... ok [INFO] [stdout] test src/square.rs - square::Square::B2 (line 475) ... ok [INFO] [stdout] test src/square.rs - square::Square::A7 (line 826) ... ok [INFO] [stdout] test src/square.rs - square::Square::A6 (line 754) ... ok [INFO] [stdout] test src/game.rs - game::Game::actions (line 75) ... ok [INFO] [stdout] test src/square.rs - square::Square::B4 (line 619) ... ok [INFO] [stdout] test src/square.rs - square::Square::B7 (line 835) ... ok [INFO] [stdout] test src/square.rs - square::Square::B3 (line 547) ... ok [INFO] [stdout] test src/square.rs - square::Square::B1 (line 403) ... ok [INFO] [stdout] test src/square.rs - square::Square::A8 (line 898) ... ok [INFO] [stdout] test src/square.rs - square::Square::B5 (line 691) ... ok [INFO] [stdout] test src/square.rs - square::Square::B6 (line 763) ... ok [INFO] [stdout] test src/square.rs - square::Square::C1 (line 412) ... ok [INFO] [stdout] test src/square.rs - square::Square::B8 (line 907) ... ok [INFO] [stdout] test src/square.rs - square::Square::C2 (line 484) ... ok [INFO] [stdout] test src/movegen/movegen.rs - movegen::movegen::MoveGen (line 49) ... ok [INFO] [stdout] test src/square.rs - square::Square::C5 (line 700) ... ok [INFO] [stdout] test src/square.rs - square::Square::C8 (line 916) ... ok [INFO] [stdout] test src/square.rs - square::Square::C3 (line 556) ... ok [INFO] [stdout] test src/square.rs - square::Square::C6 (line 772) ... ok [INFO] [stdout] test src/square.rs - square::Square::C4 (line 628) ... ok [INFO] [stdout] test src/square.rs - square::Square::D3 (line 565) ... ok [INFO] [stdout] test src/board.rs - board::Board::status (line 119) ... ok [INFO] [stdout] test src/square.rs - square::Square::D6 (line 781) ... ok [INFO] [stdout] test src/square.rs - square::Square::C7 (line 844) ... ok [INFO] [stdout] test src/square.rs - square::Square::D5 (line 709) ... ok [INFO] [stdout] test src/square.rs - square::Square::D7 (line 853) ... ok [INFO] [stdout] test src/square.rs - square::Square::E1 (line 430) ... ok [INFO] [stdout] test src/square.rs - square::Square::D8 (line 925) ... ok [INFO] [stdout] test src/square.rs - square::Square::D4 (line 637) ... ok [INFO] [stdout] test src/square.rs - square::Square::E6 (line 790) ... ok [INFO] [stdout] test src/square.rs - square::Square::E3 (line 574) ... ok [INFO] [stdout] test src/square.rs - square::Square::E2 (line 502) ... ok [INFO] [stdout] test src/square.rs - square::Square::E4 (line 646) ... ok [INFO] [stdout] test src/square.rs - square::Square::D1 (line 421) ... ok [INFO] [stdout] test src/square.rs - square::Square::D2 (line 493) ... ok [INFO] [stdout] test src/square.rs - square::Square::F4 (line 655) ... ok [INFO] [stdout] test src/square.rs - square::Square::E7 (line 862) ... ok [INFO] [stdout] test src/square.rs - square::Square::E5 (line 718) ... ok [INFO] [stdout] test src/square.rs - square::Square::F1 (line 439) ... ok [INFO] [stdout] test src/square.rs - square::Square::F8 (line 943) ... ok [INFO] [stdout] test src/square.rs - square::Square::E8 (line 934) ... ok [INFO] [stdout] test src/square.rs - square::Square::G2 (line 520) ... ok [INFO] [stdout] test src/square.rs - square::Square::G4 (line 664) ... ok [INFO] [stdout] test src/square.rs - square::Square::F7 (line 871) ... ok [INFO] [stdout] test src/square.rs - square::Square::G5 (line 736) ... ok [INFO] [stdout] test src/square.rs - square::Square::F5 (line 727) ... ok [INFO] [stdout] test src/lib.rs - (line 11) ... ok [INFO] [stdout] test src/square.rs - square::Square::G8 (line 952) ... ok [INFO] [stdout] test src/square.rs - square::Square::F3 (line 583) ... ok [INFO] [stdout] test src/square.rs - square::Square::G3 (line 592) ... ok [INFO] [stdout] test src/square.rs - square::Square::G1 (line 448) ... ok [INFO] [stdout] test src/square.rs - square::Square::G6 (line 808) ... ok [INFO] [stdout] test src/square.rs - square::Square::F6 (line 799) ... ok [INFO] [stdout] test src/square.rs - square::Square::F2 (line 511) ... ok [INFO] [stdout] test src/square.rs - square::Square::H2 (line 529) ... ok [INFO] [stdout] test src/square.rs - square::Square::H3 (line 601) ... ok [INFO] [stdout] test src/square.rs - square::Square::G7 (line 880) ... ok [INFO] [stdout] test src/square.rs - square::Square::H7 (line 889) ... ok [INFO] [stdout] test src/square.rs - square::Square::H5 (line 745) ... ok [INFO] [stdout] test src/square.rs - square::Square::H1 (line 457) ... ok [INFO] [stdout] test src/square.rs - square::Square::down (line 125) ... ok [INFO] [stdout] test src/square.rs - square::Square::get_rank (line 77) ... ok [INFO] [stdout] test src/square.rs - square::Square::default (line 18) ... ok [INFO] [stdout] test src/square.rs - square::Square::H4 (line 673) ... ok [INFO] [stdout] test src/square.rs - square::Square::H6 (line 817) ... ok [INFO] [stdout] test src/square.rs - square::Square::H8 (line 961) ... ok [INFO] [stdout] test src/square.rs - square::Square::forward (line 188) ... ok [INFO] [stdout] test src/square.rs - square::Square::backward (line 211) ... ok [INFO] [stdout] test src/square.rs - square::Square::to_index (line 362) ... ok [INFO] [stdout] test src/square.rs - square::Square::get_file (line 91) ... ok [INFO] [stdout] test src/square.rs - square::Square::from_string (line 377) ... ok [INFO] [stdout] test src/square.rs - square::Square::left (line 145) ... ok [INFO] [stdout] test src/square.rs - square::Square::to_int (line 347) ... ok [INFO] [stdout] test src/square.rs - square::Square::new (line 35) ... ok [INFO] [stdout] test src/square.rs - square::Square::make_square (line 55) ... ok [INFO] [stdout] test src/square.rs - square::Square::uright (line 283) ... ok [INFO] [stdout] test src/square.rs - square::Square::uforward (line 300) ... ok [INFO] [stdout] test src/square.rs - square::Square::right (line 165) ... ok [INFO] [stdout] test src/square.rs - square::Square::up (line 105) ... ok [INFO] [stdout] test src/square.rs - square::Square::uleft (line 266) ... ok [INFO] [stdout] test src/square.rs - square::Square::ubackward (line 324) ... ok [INFO] [stdout] test src/square.rs - square::Square::uup (line 234) ... ok [INFO] [stdout] test src/square.rs - square::Square::udown (line 250) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/board.rs - board::Board::is_sane (line 577) stdout ---- [INFO] [stdout] warning: use of deprecated method `chess::Board::clear_square`: When doing board setup, use the BoardBuilder structure. It ensures you don't end up with an invalid position. [INFO] [stdout] --> src/board.rs:586:23 [INFO] [stdout] | [INFO] [stdout] 12 | let bad_board = board.clear_square(Square::E1).expect("Valid Position"); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] Test executable failed (signal: 6 (SIGABRT) (core dumped)). [INFO] [stdout] [INFO] [stdout] stderr: [INFO] [stdout] [INFO] [stdout] thread 'main' (594) panicked at src/magic.rs:15:42: [INFO] [stdout] unsafe precondition(s) violated: slice::get_unchecked requires that the index is within the slice [INFO] [stdout] [INFO] [stdout] This indicates a bug in the program. This Undefined Behavior check is optional, and cannot be relied on for safety. [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5ab8fc47da02 - std::backtrace_rs::backtrace::libunwind::trace::h7cddb8376417e7cc [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5ab8fc47da02 - std::backtrace_rs::backtrace::trace_unsynchronized::hb4e41acf4b349ff1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5ab8fc47da02 - std::sys::backtrace::_print_fmt::h1222b80910ba6eb5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5ab8fc47da02 - ::fmt::h5bb8a979ba5db788 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5ab8fc48c73f - core::fmt::rt::Argument::fmt::h2ee2c138a50a7796 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5ab8fc48c73f - core::fmt::write::h1e0dbf07fe3990bd [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5ab8fc45c5d3 - std::io::default_write_fmt::hb0810a37865e52a5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5ab8fc45c5d3 - std::io::Write::write_fmt::h12c8908aaac7ca22 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5ab8fc4613b2 - std::sys::backtrace::BacktraceLock::print::h788d486777205086 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5ab8fc462c0c - std::panicking::default_hook::{{closure}}::ha7bdfeb5949fc0fa [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5ab8fc462a66 - std::panicking::default_hook::h6dad75ec721846f4 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:328:9 [INFO] [stdout] 11: 0x5ab8fc4631e5 - std::panicking::panic_with_hook::hba00e869ada17676 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:834:13 [INFO] [stdout] 12: 0x5ab8fc463046 - std::panicking::panic_handler::{{closure}}::h3d21149c258e5ceb [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:700:13 [INFO] [stdout] 13: 0x5ab8fc4614e9 - std::sys::backtrace::__rust_end_short_backtrace::h4f5d9b9dfb3e6ec1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 14: 0x5ab8fc450e7d - __rustc[9a7a9f9af7564de1]::rust_begin_unwind [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:698:5 [INFO] [stdout] 15: 0x5ab8fc48f4ed - core::panicking::panic_nounwind_fmt::runtime::hac4f6b13dba0e83c [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/panicking.rs:117:22 [INFO] [stdout] 16: 0x5ab8fc48f4ed - core::panicking::panic_nounwind_fmt::h6abdf93d58efc633 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/intrinsics/mod.rs:2380:9 [INFO] [stdout] 17: 0x5ab8fc44e7e8 - >::get_unchecked::precondition_check::h4bb2e4774dcab36f [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ub_checks.rs:72:21 [INFO] [stdout] 18: 0x5ab8fc44e7e8 - >::get_unchecked::heef1f36244015e3d [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ub_checks.rs:77:17 [INFO] [stdout] 19: 0x5ab8fc44e7e8 - core::slice::::get_unchecked::hf9897b3e1526426f [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/slice/mod.rs:644:26 [INFO] [stdout] 20: 0x5ab8fc44e7e8 - chess::magic::get_bishop_rays::h5b98993fd27f752d [INFO] [stdout] at /opt/rustwide/workdir/src/magic.rs:15:42 [INFO] [stdout] 21: 0x5ab8fc44e7e8 - chess::board::Board::update_pin_info::hf6f6132a2445f2f2 [INFO] [stdout] at /opt/rustwide/workdir/src/board.rs:1010:17 [INFO] [stdout] 22: 0x5ab8fc44dfd6 - chess::board::Board::clear_square::h233e6376b597c96f [INFO] [stdout] 23: 0x5ab8fc44e3b0 - rust_out::main::_doctest_main_src_board_rs_577_0::hf7ea232a164f7401 [INFO] [stdout] 24: 0x5ab8fc44e316 - rust_out::main::hb2c1f26112d8e974 [INFO] [stdout] 25: 0x5ab8fc44d793 - core::ops::function::FnOnce::call_once::h01e49b384cd31373 [INFO] [stdout] 26: 0x5ab8fc44d746 - std::sys::backtrace::__rust_begin_short_backtrace::hc341f747de1a6e5f [INFO] [stdout] 27: 0x5ab8fc44d729 - std::rt::lang_start::{{closure}}::h5855c6a947873adf [INFO] [stdout] 28: 0x5ab8fc45d440 - core::ops::function::impls:: for &F>::call_once::h1dc0a50e6295ec78 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:290:21 [INFO] [stdout] 29: 0x5ab8fc45d440 - std::panicking::catch_unwind::do_call::h209f742e9999044e [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 30: 0x5ab8fc45d440 - std::panicking::catch_unwind::h508c6e2aa6d72749 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 31: 0x5ab8fc45d440 - std::panic::catch_unwind::hebcbb24aa9914693 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 32: 0x5ab8fc45d440 - std::rt::lang_start_internal::{{closure}}::h703cbe32967ef209 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/rt.rs:175:24 [INFO] [stdout] 33: 0x5ab8fc45d440 - std::panicking::catch_unwind::do_call::hf50f2a30bce4e10b [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 34: 0x5ab8fc45d440 - std::panicking::catch_unwind::hac448d7e3b12daa3 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 35: 0x5ab8fc45d440 - std::panic::catch_unwind::ha9d74a13d77f299c [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 36: 0x5ab8fc45d440 - std::rt::lang_start_internal::ha26d244788d1956d [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/rt.rs:171:5 [INFO] [stdout] 37: 0x5ab8fc44d711 - std::rt::lang_start::h75941d661fa88314 [INFO] [stdout] 38: 0x5ab8fc44e455 - main [INFO] [stdout] 39: 0x7a705dd581ca - [INFO] [stdout] 40: 0x7a705dd5828b - __libc_start_main [INFO] [stdout] 41: 0x5ab8fc44d625 - _start [INFO] [stdout] 42: 0x0 - [INFO] [stdout] thread caused non-unwinding panic. aborting. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/board.rs - board::Board::is_sane (line 577) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 139 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.01s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "adcc1b903dc05a1f6b0cb3317c7773cd5d8db856e9dcbd6f5d3bfe930ddf235e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "adcc1b903dc05a1f6b0cb3317c7773cd5d8db856e9dcbd6f5d3bfe930ddf235e", kill_on_drop: false }` [INFO] [stdout] adcc1b903dc05a1f6b0cb3317c7773cd5d8db856e9dcbd6f5d3bfe930ddf235e