[INFO] fetching crate stockfish-core 0.2.0...
[INFO] testing stockfish-core-0.2.0 against 1.91.0 for beta-1.92-2
[INFO] extracting crate stockfish-core 0.2.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate stockfish-core 0.2.0
[INFO] finished tweaking crates.io crate stockfish-core 0.2.0
[INFO] tweaked toml for crates.io crate stockfish-core 0.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate stockfish-core 0.2.0 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate stockfish-core 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tinytemplate v1.2.1
[INFO] [stderr]   Downloaded serde_derive v1.0.152
[INFO] [stderr]   Downloaded winapi-util v0.1.5
[INFO] [stderr]   Downloaded walkdir v2.3.2
[INFO] [stderr]   Downloaded paste v1.0.11
[INFO] [stderr]   Downloaded oorandom v11.1.3
[INFO] [stderr]   Downloaded clap_lex v0.2.4
[INFO] [stderr]   Downloaded atty v0.2.14
[INFO] [stderr]   Downloaded plotters-svg v0.3.3
[INFO] [stderr]   Downloaded textwrap v0.16.0
[INFO] [stderr]   Downloaded anes v0.1.6
[INFO] [stderr]   Downloaded bytemuck v1.12.3
[INFO] [stderr]   Downloaded ciborium v0.2.0
[INFO] [stderr]   Downloaded half v1.8.2
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.6
[INFO] [stderr]   Downloaded clap v3.2.23
[INFO] [stderr]   Downloaded syn v1.0.107
[INFO] [stderr]   Downloaded serde_json v1.0.91
[INFO] [stderr]   Downloaded js-sys v0.3.60
[INFO] [stderr]   Downloaded bumpalo v3.11.1
[INFO] [stderr]   Downloaded plotters v0.3.4
[INFO] [stderr]   Downloaded web-sys v0.3.60
[INFO] [stderr]   Downloaded ryu v1.0.12
[INFO] [stderr]   Downloaded unicode-ident v1.0.6
[INFO] [stderr]   Downloaded indexmap v1.9.2
[INFO] [stderr]   Downloaded num-traits v0.2.15
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.83
[INFO] [stderr]   Downloaded rayon v1.6.1
[INFO] [stderr]   Downloaded once_cell v1.17.0
[INFO] [stderr]   Downloaded regex-syntax v0.6.28
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.83
[INFO] [stderr]   Downloaded regex v1.7.1
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.13
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.14
[INFO] [stderr]   Downloaded num_cpus v1.15.0
[INFO] [stderr]   Downloaded rayon-core v1.10.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.49
[INFO] [stderr]   Downloaded quote v1.0.23
[INFO] [stderr]   Downloaded criterion v0.4.0
[INFO] [stderr]   Downloaded ciborium-ll v0.2.0
[INFO] [stderr]   Downloaded criterion-plot v0.5.0
[INFO] [stderr]   Downloaded plotters-backend v0.3.4
[INFO] [stderr]   Downloaded either v1.8.0
[INFO] [stderr]   Downloaded memoffset v0.7.1
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.2
[INFO] [stderr]   Downloaded serde v1.0.152
[INFO] [stderr]   Downloaded ciborium-io v0.2.0
[INFO] [stderr]   Downloaded os_str_bytes v6.4.1
[INFO] [stderr]   Downloaded libc v0.2.139
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.83
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.83
[INFO] [stderr]   Downloaded hermit-abi v0.2.6
[INFO] [stderr]   Downloaded itoa v1.0.5
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b1f2dac4eb927564730d78909d7ba1764b8a5fba1faef0c57ee88f8e25262db8
[INFO] running `Command { std: "docker" "start" "-a" "b1f2dac4eb927564730d78909d7ba1764b8a5fba1faef0c57ee88f8e25262db8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b1f2dac4eb927564730d78909d7ba1764b8a5fba1faef0c57ee88f8e25262db8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b1f2dac4eb927564730d78909d7ba1764b8a5fba1faef0c57ee88f8e25262db8", kill_on_drop: false }`
[INFO] [stdout] b1f2dac4eb927564730d78909d7ba1764b8a5fba1faef0c57ee88f8e25262db8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ed4c86837ce5f85546538088a340b620a354607b3933851823e2c9cc11749e2
[INFO] running `Command { std: "docker" "start" "-a" "7ed4c86837ce5f85546538088a340b620a354607b3933851823e2c9cc11749e2", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling bytemuck v1.12.3
[INFO] [stderr]    Compiling stockfish-core v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]   --> src/lib.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | #![feature(no_coverage)]
[INFO] [stdout]    |            ^^^^^^^^^^^ feature has been removed
[INFO] [stdout]    |
[INFO] [stdout]    = note: removed in 1.74.0; see <https://github.com/rust-lang/rust/pull/114656> for more information
[INFO] [stdout]    = note: renamed to `coverage_attribute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: meta-variables within meta-variable expressions must be referenced using a dollar sign
[INFO] [stdout]   --> src/core.rs:22:60
[INFO] [stdout]    |
[INFO] [stdout] 22 |             $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: meta-variables within meta-variable expressions must be referenced using a dollar sign
[INFO] [stdout]   --> src/core.rs:67:63
[INFO] [stdout]    |
[INFO] [stdout] 67 |             $vis fn iter() -> ::core::array::IntoIter<Self, ${count(var)}> {
[INFO] [stdout]    |                                                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]  5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]  6 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]  5 | |     /// and the side to which castling will occur.
[INFO] [stdout]  6 | |     pub CastlingVariety, [
[INFO] [stdout] ...  |
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/color.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]  7 | |     pub Color, [ White, Black ]
[INFO] [stdout]  8 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/file.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]  7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]  8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]  9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/move.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | / enumeration! {
[INFO] [stdout] 19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout] 20 | |     ///
[INFO] [stdout] 21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout] 22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout] 23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/move.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | / enumeration! {
[INFO] [stdout] 27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout] 28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout] 29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/piece.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / enumeration! {
[INFO] [stdout]  5 | |     /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]  6 | |     /// token.
[INFO] [stdout]  7 | |     ///
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/rank.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]  7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]  8 | |     /// number.
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/square.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A square on a chess board.
[INFO] [stdout]  7 | |     pub Square, [
[INFO] [stdout]  8 | |         A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found `$`
[INFO] [stdout]   --> src/core.rs:22:58
[INFO] [stdout]    |
[INFO] [stdout] 20 |           impl $name {
[INFO] [stdout]    |                      - while parsing this item list starting here
[INFO] [stdout] 21 |               /// The total number of [`$name`]s.
[INFO] [stdout] 22 |               $vis const COUNT: ::core::primitive::usize = ${count(var)};
[INFO] [stdout]    |                                                            ^ expected expression
[INFO] [stdout] ...
[INFO] [stdout] 91 |           }
[INFO] [stdout]    |           - the item list ends here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/token.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]  5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]  6 | |     pub Token, [
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:73:1
[INFO] [stdout]    |
[INFO] [stdout] 73 | #![feature(const_cmp)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:74:1
[INFO] [stdout]    |
[INFO] [stdout] 74 | #![feature(const_convert)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | #![feature(const_default_impls)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | #![feature(const_discriminant)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:77:1
[INFO] [stdout]    |
[INFO] [stdout] 77 | #![feature(const_mut_refs)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove the attribute
[INFO] [stdout]    |
[INFO] [stdout]    = help: the feature `const_mut_refs` has been stable since `1.83.0` and no longer requires an attribute to enable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | #![feature(const_ops)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:79:1
[INFO] [stdout]    |
[INFO] [stdout] 79 | #![feature(const_option)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | #![feature(const_trait_impl)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | #![feature(const_try)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | #![feature(const_slice_index)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | #![feature(derive_const)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | #![feature(is_sorted)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | #![feature(macro_metavar_expr)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:86:1
[INFO] [stdout]    |
[INFO] [stdout] 86 | #![feature(no_coverage)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:87:1
[INFO] [stdout]    |
[INFO] [stdout] 87 | #![feature(rustdoc_missing_doc_code_examples)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]   --> src/lib.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | #![feature(strict_provenance)]
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `fuzzy_provenance_casts`
[INFO] [stdout]   --> src/lib.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | #![warn(fuzzy_provenance_casts)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the `fuzzy_provenance_casts` lint is unstable
[INFO] [stdout]    = note: see issue #130351 <https://github.com/rust-lang/rust/issues/130351> for more information
[INFO] [stdout]    = note: `#[warn(unknown_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unknown lint: `lossy_provenance_casts`
[INFO] [stdout]   --> src/lib.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | #![warn(lossy_provenance_casts)]
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the `lossy_provenance_casts` lint is unstable
[INFO] [stdout]    = note: see issue #130351 <https://github.com/rust-lang/rust/issues/130351> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `use_pext`
[INFO] [stdout]   --> src/arch.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | #[cfg(use_pext)]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(use_pext)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(use_pext)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `use_pext`
[INFO] [stdout]   --> src/arch.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[cfg(not(use_pext))]
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(use_pext)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(use_pext)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `use_pext`
[INFO] [stdout]   --> src/bitboard/magic.rs:70:23
[INFO] [stdout]    |
[INFO] [stdout] 70 |             #[cfg(not(use_pext))] {
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(use_pext)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(use_pext)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `use_pext`
[INFO] [stdout]   --> src/bitboard/magic.rs:65:23
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 #[cfg(use_pext)] {
[INFO] [stdout]    |                       ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(use_pext)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(use_pext)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `use_pext`
[INFO] [stdout]    --> src/bitboard/magic.rs:212:11
[INFO] [stdout]     |
[INFO] [stdout] 212 |     #[cfg(use_pext)]
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(use_pext)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(use_pext)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `use_pext`
[INFO] [stdout]    --> src/bitboard/magic.rs:219:48
[INFO] [stdout]     |
[INFO] [stdout] 219 |     #[cfg(all(target_pointer_width = "64", not(use_pext)))]
[INFO] [stdout]     |                                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(use_pext)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(use_pext)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `use_pext`
[INFO] [stdout]    --> src/bitboard/magic.rs:232:48
[INFO] [stdout]     |
[INFO] [stdout] 232 |     #[cfg(all(target_pointer_width = "32", not(use_pext)))]
[INFO] [stdout]     |                                                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(use_pext)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(use_pext)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary qualification
[INFO] [stdout]    --> src/bitboard/magic.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 |         (std::mem::size_of::<usize>() * 8) - mask.count()
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:31:9
[INFO] [stdout]     |
[INFO] [stdout]  31 | #![warn(unused_qualifications)]
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the unnecessary path segments
[INFO] [stdout]     |
[INFO] [stdout] 203 -         (std::mem::size_of::<usize>() * 8) - mask.count()
[INFO] [stdout] 203 +         (size_of::<usize>() * 8) - mask.count()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `coverage`
[INFO] [stdout]    --> src/bitboard.rs:229:16
[INFO] [stdout]     |
[INFO] [stdout] 229 |     #[cfg_attr(coverage, no_coverage)]
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead
[INFO] [stdout]     = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]              [lints.rust]
[INFO] [stdout]              unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage)'] }
[INFO] [stdout]     = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(coverage)");` to the top of the `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `coverage`
[INFO] [stdout]   --> src/core/board.rs:67:16
[INFO] [stdout]    |
[INFO] [stdout] 67 |     #[cfg_attr(coverage, no_coverage)]
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a Cargo feature instead
[INFO] [stdout]    = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]             [lints.rust]
[INFO] [stdout]             unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage)'] }
[INFO] [stdout]    = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(coverage)");` to the top of the `build.rs`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_mut_refs` has been stable since 1.83.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | #![feature(const_mut_refs)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_discriminant` has been stable since 1.75.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | #![feature(const_discriminant)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `const_option` has been stable since 1.83.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | #![feature(const_option)]
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `is_sorted` has been stable since 1.82.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | #![feature(is_sorted)]
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `strict_provenance` has been stable since 1.84.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | #![feature(strict_provenance)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_slice_index`
[INFO] [stdout]   --> src/lib.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | #![feature(const_slice_index)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0635]: unknown feature `const_default_impls`
[INFO] [stdout]   --> src/lib.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | #![feature(const_default_impls)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/bitboard.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive_const(Clone, PartialEq, PartialOrd, Ord)]
[INFO] [stdout]    |                ^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/bitboard/magic.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | #[derive_const(Clone, PartialEq)]
[INFO] [stdout]    |                ^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]  --> src/core/board.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 | #[derive_const(Clone)]
[INFO] [stdout]   |                ^^^^^ trait is not stable as const yet
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]   --> src/core/board.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl const Index<usize> for Board {
[INFO] [stdout]    |            ^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]   --> src/core/board.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl const IndexMut<usize> for Board {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]   --> src/core/board.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl const Index<Square> for Board {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]   --> src/core/board.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl const IndexMut<Square> for Board {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]  --> src/core/castling/castling_path.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive_const(Clone, PartialEq)]
[INFO] [stdout]   |                ^^^^^ trait is not stable as const yet
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_default`
[INFO] [stdout]   --> src/core/castling/castling_rights.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive_const(Default)]
[INFO] [stdout]    |                    ^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #143894 <https://github.com/rust-lang/rust/issues/143894> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]  5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]  6 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]   5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]   6 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]  5 | |     /// and the side to which castling will occur.
[INFO] [stdout]  6 | |     pub CastlingVariety, [
[INFO] [stdout] ...  |
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]   5 | |     /// and the side to which castling will occur.
[INFO] [stdout]   6 | |     pub CastlingVariety, [
[INFO] [stdout] ...   |
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/color.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]  7 | |     pub Color, [ White, Black ]
[INFO] [stdout]  8 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/color.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]   7 | |     pub Color, [ White, Black ]
[INFO] [stdout]   8 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]  --> src/core/direction.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[derive_const(Clone, PartialEq)]
[INFO] [stdout]   |                ^^^^^ trait is not stable as const yet
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/file.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]  7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]  8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]  9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/file.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]   8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core/move.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive_const(Clone)]
[INFO] [stdout]    |                ^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/move.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | / enumeration! {
[INFO] [stdout] 19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout] 20 | |     ///
[INFO] [stdout] 21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout] 22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout] 23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / enumeration! {
[INFO] [stdout]  19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout]  20 | |     ///
[INFO] [stdout]  21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout]  22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout]  23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout]  24 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/move.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | / enumeration! {
[INFO] [stdout] 27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout] 28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout] 29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | / enumeration! {
[INFO] [stdout]  27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout]  28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout]  29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout]  30 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/piece.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / enumeration! {
[INFO] [stdout]  5 | |     /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]  6 | |     /// token.
[INFO] [stdout]  7 | |     ///
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/piece.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / enumeration! {
[INFO] [stdout]   5 | |     /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]   6 | |     /// token.
[INFO] [stdout]   7 | |     ///
[INFO] [stdout] ...   |
[INFO] [stdout]  19 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/rank.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]  7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]  8 | |     /// number.
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/rank.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]   8 | |     /// number.
[INFO] [stdout] ...   |
[INFO] [stdout]  13 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]  --> src/core/ruleset.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive_const(Clone, PartialEq)]
[INFO] [stdout]   |                ^^^^^ trait is not stable as const yet
[INFO] [stdout]   |
[INFO] [stdout]   = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/square.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A square on a chess board.
[INFO] [stdout]  7 | |     pub Square, [
[INFO] [stdout]  8 | |         A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/square.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A square on a chess board.
[INFO] [stdout]   7 | |     pub Square, [
[INFO] [stdout]   8 | |         A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...   |
[INFO] [stdout]  17 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/core.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |           #[derive_const(::core::clone::Clone)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/token.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]  5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]  6 | |     pub Token, [
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout]    = note: this error originates in the derive macro `::core::clone::Clone` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_index`
[INFO] [stdout]    --> src/core.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^ trait is not stable as const yet
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/token.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]   6 | |     pub Token, [
[INFO] [stdout] ...   |
[INFO] [stdout]   9 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: see issue #143775 <https://github.com/rust-lang/rust/issues/143775> for more information
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_clone`
[INFO] [stdout]   --> src/hash.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive_const(Clone, Default, PartialEq)]
[INFO] [stdout]    |                ^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #142757 <https://github.com/rust-lang/rust/issues/142757> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0658]: use of unstable const library feature `const_default`
[INFO] [stdout]   --> src/hash.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive_const(Clone, Default, PartialEq)]
[INFO] [stdout]    |                       ^^^^^^^ trait is not stable as const yet
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #143894 <https://github.com/rust-lang/rust/issues/143894> for more information
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:52:38
[INFO] [stdout]    |
[INFO] [stdout] 52 |   const SQUARE_DISTANCE: [[u8; Square::COUNT]; Square::COUNT] = cached!("square_distance");
[INFO] [stdout]    |                                        ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:52:54
[INFO] [stdout]    |
[INFO] [stdout] 52 |   const SQUARE_DISTANCE: [[u8; Square::COUNT]; Square::COUNT] = cached!("square_distance");
[INFO] [stdout]    |                                                        ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:55:33
[INFO] [stdout]    |
[INFO] [stdout] 55 |   const LINE: [[Bitboard; Square::COUNT]; Square::COUNT] = cached!("line");
[INFO] [stdout]    |                                   ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:55:49
[INFO] [stdout]    |
[INFO] [stdout] 55 |   const LINE: [[Bitboard; Square::COUNT]; Square::COUNT] = cached!("line");
[INFO] [stdout]    |                                                   ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:58:36
[INFO] [stdout]    |
[INFO] [stdout] 58 |   const BETWEEN: [[Bitboard; Square::COUNT]; Square::COUNT] = cached!("between");
[INFO] [stdout]    |                                      ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:58:52
[INFO] [stdout]    |
[INFO] [stdout] 58 |   const BETWEEN: [[Bitboard; Square::COUNT]; Square::COUNT] = cached!("between");
[INFO] [stdout]    |                                                      ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:61:43
[INFO] [stdout]    |
[INFO] [stdout] 61 |   const PSEUDO_ATTACKS: [[Bitboard; Square::COUNT]; Token::COUNT] = cached!("pseudo_attacks");
[INFO] [stdout]    |                                             ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `token::Token` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:61:58
[INFO] [stdout]    |
[INFO] [stdout] 61 |   const PSEUDO_ATTACKS: [[Bitboard; Square::COUNT]; Token::COUNT] = cached!("pseudo_attacks");
[INFO] [stdout]    |                                                            ^^^^^ variant or associated item not found in `token::Token`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:64:41
[INFO] [stdout]    |
[INFO] [stdout] 64 |   const PAWN_ATTACKS: [[Bitboard; Square::COUNT]; Color::COUNT] = cached!("pawn_attacks");
[INFO] [stdout]    |                                           ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/accelerate/cached.rs:64:56
[INFO] [stdout]    |
[INFO] [stdout] 64 |   const PAWN_ATTACKS: [[Bitboard; Square::COUNT]; Color::COUNT] = cached!("pawn_attacks");
[INFO] [stdout]    |                                                          ^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/bitboard/magic.rs:8:40
[INFO] [stdout]    |
[INFO] [stdout]  8 |       pub magics:  [MagicSquare; Square::COUNT],
[INFO] [stdout]    |                                          ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/board.rs:11:42
[INFO] [stdout]    |
[INFO] [stdout] 11 |   pub struct Board([Option<Piece>; Square::COUNT]);
[INFO] [stdout]    |                                            ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `bitboard::Bitboard: [const] std::cmp::Eq` is not satisfied
[INFO] [stdout]   --> src/bitboard.rs:24:46
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive_const(Clone, PartialEq, PartialOrd, Ord)]
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_side::CastlingSide` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                  ^^^^^ variant or associated item not found in `castling_side::CastlingSide`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]   5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]   6 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                  ^^^^^ variant or associated item not found in `castling_variety::CastlingVariety`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]   5 | |     /// and the side to which castling will occur.
[INFO] [stdout]   6 | |     pub CastlingVariety, [
[INFO] [stdout] ...   |
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `color::Color` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                  ^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/color.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]   7 | |     pub Color, [ White, Black ]
[INFO] [stdout]   8 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `file::File` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                  ^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/file.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]   8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `MoveType` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                  ^^^^^ variant or associated item not found in `MoveType`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / enumeration! {
[INFO] [stdout]  19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout]  20 | |     ///
[INFO] [stdout]  21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout]  22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout]  23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout]  24 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `MovePromotion` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                  ^^^^^ variant or associated item not found in `MovePromotion`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | / enumeration! {
[INFO] [stdout]  27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout]  28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout]  29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout]  30 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `piece::Piece` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 |  /         $vis enum $name {
[INFO] [stdout]  16 |  |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 |  |         }
[INFO] [stdout]     |  |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |            impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                   ^^^^^ variant or associated item not found in `piece::Piece`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/piece.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | /  enumeration! {
[INFO] [stdout]   5 | |      /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]   6 | |      /// token.
[INFO] [stdout]   7 | |      ///
[INFO] [stdout] ...   |
[INFO] [stdout]  19 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `rank::Rank` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                  ^^^^^ variant or associated item not found in `rank::Rank`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/rank.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]   8 | |     /// number.
[INFO] [stdout] ...   |
[INFO] [stdout]  13 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 |  /         $vis enum $name {
[INFO] [stdout]  16 |  |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 |  |         }
[INFO] [stdout]     |  |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |            impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                   ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/square.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | /  enumeration! {
[INFO] [stdout]   6 | |      /// A square on a chess board.
[INFO] [stdout]   7 | |      pub Square, [
[INFO] [stdout]   8 | |          A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...   |
[INFO] [stdout]  17 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `token::Token` in the current scope
[INFO] [stdout]    --> src/core.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 109 |           impl<T> const ::core::ops::Index<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                  ^^^^^ variant or associated item not found in `token::Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/token.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]   6 | |     pub Token, [
[INFO] [stdout] ...   |
[INFO] [stdout]   9 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_side::CastlingSide` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |           impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                               ^^^^^ variant or associated item not found in `castling_side::CastlingSide`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]   5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]   6 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |           impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                               ^^^^^ variant or associated item not found in `castling_variety::CastlingVariety`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]   5 | |     /// and the side to which castling will occur.
[INFO] [stdout]   6 | |     pub CastlingVariety, [
[INFO] [stdout] ...   |
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `color::Color` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |           impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                               ^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/color.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]   7 | |     pub Color, [ White, Black ]
[INFO] [stdout]   8 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `file::File` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |           impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                               ^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/file.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]   8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `MoveType` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |           impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                               ^^^^^ variant or associated item not found in `MoveType`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / enumeration! {
[INFO] [stdout]  19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout]  20 | |     ///
[INFO] [stdout]  21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout]  22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout]  23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout]  24 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `MovePromotion` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |           impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                               ^^^^^ variant or associated item not found in `MovePromotion`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | / enumeration! {
[INFO] [stdout]  27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout]  28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout]  29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout]  30 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `piece::Piece` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 |  /         $vis enum $name {
[INFO] [stdout]  16 |  |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 |  |         }
[INFO] [stdout]     |  |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |            impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                ^^^^^ variant or associated item not found in `piece::Piece`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/piece.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | /  enumeration! {
[INFO] [stdout]   5 | |      /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]   6 | |      /// token.
[INFO] [stdout]   7 | |      ///
[INFO] [stdout] ...   |
[INFO] [stdout]  19 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `rank::Rank` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |           impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                               ^^^^^ variant or associated item not found in `rank::Rank`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/rank.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]   8 | |     /// number.
[INFO] [stdout] ...   |
[INFO] [stdout]  13 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 |  /         $vis enum $name {
[INFO] [stdout]  16 |  |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 |  |         }
[INFO] [stdout]     |  |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |            impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                                ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/square.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | /  enumeration! {
[INFO] [stdout]   6 | |      /// A square on a chess board.
[INFO] [stdout]   7 | |      pub Square, [
[INFO] [stdout]   8 | |          A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...   |
[INFO] [stdout]  17 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `token::Token` in the current scope
[INFO] [stdout]    --> src/core.rs:117:61
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 117 |           impl<T> ::core::ops::IndexMut<$name> for [T; $name::COUNT] {
[INFO] [stdout]     |                                                               ^^^^^ variant or associated item not found in `token::Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/token.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]   6 | |     pub Token, [
[INFO] [stdout] ...   |
[INFO] [stdout]   9 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `file::File: [const] std::cmp::Eq` is not satisfied
[INFO] [stdout]  --> src/core/file.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `rank::Rank: [const] std::cmp::Eq` is not satisfied
[INFO] [stdout]  --> src/core/rank.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:18:32
[INFO] [stdout]    |
[INFO] [stdout] 18 |       psq:        [[Key; Square::COUNT]; Piece::COUNT],
[INFO] [stdout]    |                                  ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `piece::Piece` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:18:47
[INFO] [stdout]    |
[INFO] [stdout] 18 |       psq:        [[Key; Square::COUNT]; Piece::COUNT],
[INFO] [stdout]    |                                                 ^^^^^ variant or associated item not found in `piece::Piece`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:19:29
[INFO] [stdout]    |
[INFO] [stdout] 19 |       en_passant: [Key; File::COUNT],
[INFO] [stdout]    |                               ^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]   --> src/core/castling/castling_variety.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 |       const COLORS: [Color; Self::COUNT] = [
[INFO] [stdout]    |                                   ^^^^^ variant or associated item not found in `castling_variety::CastlingVariety`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]   --> src/core/castling/castling_variety.rs:18:45
[INFO] [stdout]    |
[INFO] [stdout] 18 |       const KING_DESTINATIONS: [Square; Self::COUNT] = [
[INFO] [stdout]    |                                               ^^^^^ variant or associated item not found in `castling_variety::CastlingVariety`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]   --> src/core/castling/castling_variety.rs:23:45
[INFO] [stdout]    |
[INFO] [stdout] 23 |       const ROOK_DESTINATIONS: [Square; Self::COUNT] = [
[INFO] [stdout]    |                                               ^^^^^ variant or associated item not found in `castling_variety::CastlingVariety`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_side::CastlingSide` in the current scope
[INFO] [stdout]   --> src/core/castling/castling_variety.rs:28:40
[INFO] [stdout]    |
[INFO] [stdout] 28 |       const KINDS: [[Self; CastlingSide::COUNT]; Color::COUNT] = [
[INFO] [stdout]    |                                          ^^^^^ variant or associated item not found in `castling_side::CastlingSide`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/castling/castling_variety.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |       const KINDS: [[Self; CastlingSide::COUNT]; Color::COUNT] = [
[INFO] [stdout]    |                                                         ^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]   --> src/core/castling/castling_variety.rs:33:39
[INFO] [stdout]    |
[INFO] [stdout] 33 |       const SIDES: [CastlingSide; Self::COUNT] = [
[INFO] [stdout]    |                                         ^^^^^ variant or associated item not found in `castling_variety::CastlingVariety`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]   --> src/core/castling/castling_variety.rs:38:42
[INFO] [stdout]    |
[INFO] [stdout] 38 |       const RIGHTS: [CastlingRights; Self::COUNT] = [
[INFO] [stdout]    |                                            ^^^^^ variant or associated item not found in `castling_variety::CastlingVariety`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/color.rs:11:31
[INFO] [stdout]    |
[INFO] [stdout] 11 |       const RANKS: [Rank; Self::COUNT] = [ Rank::_1, Rank::_8 ];
[INFO] [stdout]    |                                 ^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `piece::Piece` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |       const FEN: [char; Self::COUNT] = [
[INFO] [stdout]    |                               ^^^^^ variant or associated item not found in `piece::Piece`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `token::Token` in the current scope
[INFO] [stdout]   --> src/core/token.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 |       pub const STEPS: [&'static [Direction]; Self::COUNT] = [
[INFO] [stdout]    |                                                     ^^^^^ variant or associated item not found in `token::Token`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `iter` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/board.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |           Square::iter().filter_map(|s| self[s].map(|t| (s, t)))
[INFO] [stdout]    |                   ^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `iter` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]   --> src/core/square.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/misc/prng.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[must_use]
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | #![warn(unused)]
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_attributes)]` implied by `#[warn(unused)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/misc/prng.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     #[must_use]
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]  5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]  6 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]   5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]   6 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]  5 | |     /// and the side to which castling will occur.
[INFO] [stdout]  6 | |     pub CastlingVariety, [
[INFO] [stdout] ...  |
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]   5 | |     /// and the side to which castling will occur.
[INFO] [stdout]   6 | |     pub CastlingVariety, [
[INFO] [stdout] ...   |
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/color.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]  7 | |     pub Color, [ White, Black ]
[INFO] [stdout]  8 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/color.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]   7 | |     pub Color, [ White, Black ]
[INFO] [stdout]   8 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core/direction.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     #[must_use]
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/file.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]  7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]  8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]  9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/file.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]   8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core/file.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     #[must_use]
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/move.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | / enumeration! {
[INFO] [stdout] 19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout] 20 | |     ///
[INFO] [stdout] 21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout] 22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout] 23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / enumeration! {
[INFO] [stdout]  19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout]  20 | |     ///
[INFO] [stdout]  21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout]  22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout]  23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout]  24 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/move.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | / enumeration! {
[INFO] [stdout] 27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout] 28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout] 29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | / enumeration! {
[INFO] [stdout]  27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout]  28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout]  29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout]  30 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/piece.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / enumeration! {
[INFO] [stdout]  5 | |     /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]  6 | |     /// token.
[INFO] [stdout]  7 | |     ///
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/piece.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | / enumeration! {
[INFO] [stdout]   5 | |     /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]   6 | |     /// token.
[INFO] [stdout]   7 | |     ///
[INFO] [stdout] ...   |
[INFO] [stdout]  19 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/rank.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]  7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]  8 | |     /// number.
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/rank.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]   8 | |     /// number.
[INFO] [stdout] ...   |
[INFO] [stdout]  13 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core/rank.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     #[must_use]
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/square.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A square on a chess board.
[INFO] [stdout]  7 | |     pub Square, [
[INFO] [stdout]  8 | |         A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/square.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A square on a chess board.
[INFO] [stdout]   7 | |     pub Square, [
[INFO] [stdout]   8 | |         A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...   |
[INFO] [stdout]  17 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core/square.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[must_use]
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]   --> src/core.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |               #[must_use]
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/token.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]  5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]  6 | |     pub Token, [
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]    = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/core.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |               #[must_use]
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/token.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]   6 | |     pub Token, [
[INFO] [stdout] ...   |
[INFO] [stdout]   9 | | }
[INFO] [stdout]     | |_- in this macro invocation
[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: `#[must_use]` can be applied to data types, functions, unions, required trait methods, provided trait methods, inherent methods, foreign functions, and traits
[INFO] [stdout]     = note: this warning originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/accelerate/computed.rs:92:26
[INFO] [stdout]    |
[INFO] [stdout] 92 |         if let Some(s) = square + steps[i] {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^ expected `Square`, found `Option<Square>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `square::Square`
[INFO] [stdout]               found enum `Option<square::Square>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/accelerate/computed.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 |         if let Some(s) = square + steps[i] {
[INFO] [stdout]    |                ^^^^^^^   ----------------- this expression has type `square::Square`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                expected `Square`, found `Option<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `square::Square`
[INFO] [stdout]               found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/accelerate/computed.rs:125:23
[INFO] [stdout]     |
[INFO] [stdout] 125 |             s = match s + dir {
[INFO] [stdout]     |                       ^^^^^^^ expected `Square`, found `Option<Square>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `square::Square`
[INFO] [stdout]                found enum `Option<square::Square>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/accelerate/computed.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |             s = match s + dir {
[INFO] [stdout]     |                       ------- this expression has type `square::Square`
[INFO] [stdout] 126 |                 Some(v) => v,
[INFO] [stdout]     |                 ^^^^^^^ expected `Square`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `square::Square`
[INFO] [stdout]                found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/accelerate/computed.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |             s = match s + dir {
[INFO] [stdout]     |                       ------- this expression has type `square::Square`
[INFO] [stdout] 126 |                 Some(v) => v,
[INFO] [stdout] 127 |                 None    => break,
[INFO] [stdout]     |                 ^^^^ expected `Square`, found `Option<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected enum `square::Square`
[INFO] [stdout]                found enum `Option<_>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `iter` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/bitboard/magic.rs:41:28
[INFO] [stdout]    |
[INFO] [stdout] 41 |           let size = Square::iter().fold(0, |offset, square| {
[INFO] [stdout]    |                              ^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `iter` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]   --> src/core/square.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `VARIANTS` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/bitboard.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |           Square::VARIANTS.get(self.0.trailing_zeros() as usize).copied()
[INFO] [stdout]     |                   ^^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `VARIANTS` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/bitboard.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |           Self(1 << s.as_u8())
[INFO] [stdout]     |                       ^^^^^ method not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/board.rs:15:49
[INFO] [stdout]    |
[INFO] [stdout] 15 |       pub const EMPTY: Self = Self([None; Square::COUNT]);
[INFO] [stdout]    |                                                   ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/board.rs:56:26
[INFO] [stdout]    |
[INFO] [stdout] 56 |           self.index(index.as_usize())
[INFO] [stdout]    |                            ^^^^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_usize` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/board.rs:62:30
[INFO] [stdout]    |
[INFO] [stdout] 62 |           self.index_mut(index.as_usize())
[INFO] [stdout]    |                                ^^^^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_usize` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `iter` found for enum `rank::Rank` in the current scope
[INFO] [stdout]   --> src/core/board.rs:72:27
[INFO] [stdout]    |
[INFO] [stdout] 72 |           for rank in Rank::iter().rev() {
[INFO] [stdout]    |                             ^^^^ variant or associated item not found in `rank::Rank`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `iter` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `rank::Rank`, consider using `rank::Rank::from_fen` which returns `Option<rank::Rank>`
[INFO] [stdout]   --> src/core/rank.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `iter` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/core/board.rs:75:31
[INFO] [stdout]    |
[INFO] [stdout] 75 |               for file in File::iter() {
[INFO] [stdout]    |                                 ^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `iter` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `file::File`, consider using `file::File::from_fen` which returns `Option<file::File>`
[INFO] [stdout]   --> src/core/file.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `castling_side::CastlingSide` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                   self.index(val.as_usize())
[INFO] [stdout]     |                                  ^^^^^^^^ method not found in `castling_side::CastlingSide`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]   5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]   6 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `castling_side::CastlingSide` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                   self.index_mut(val.as_usize())
[INFO] [stdout]     |                                      ^^^^^^^^ method not found in `castling_side::CastlingSide`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]   5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]   6 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `file::File: [const] std::cmp::Eq` is not satisfied
[INFO] [stdout]   --> src/core/castling/castling_side.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |         match king.cmp(&rook) {
[INFO] [stdout]    |               ^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `std::cmp::Ord::cmp`
[INFO] [stdout]   --> /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/cmp.rs:989:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                   self.index(val.as_usize())
[INFO] [stdout]     |                                  ^^^^^^^^ method not found in `castling_variety::CastlingVariety`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]   5 | |     /// and the side to which castling will occur.
[INFO] [stdout]   6 | |     pub CastlingVariety, [
[INFO] [stdout] ...   |
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `castling_variety::CastlingVariety` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                   self.index_mut(val.as_usize())
[INFO] [stdout]     |                                      ^^^^^^^^ method not found in `castling_variety::CastlingVariety`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]   5 | |     /// and the side to which castling will occur.
[INFO] [stdout]   6 | |     pub CastlingVariety, [
[INFO] [stdout] ...   |
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `color::Color` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                   self.index(val.as_usize())
[INFO] [stdout]     |                                  ^^^^^^^^ method not found in `color::Color`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/color.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]   7 | |     pub Color, [ White, Black ]
[INFO] [stdout]   8 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `color::Color` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                   self.index_mut(val.as_usize())
[INFO] [stdout]     |                                      ^^^^^^^^ method not found in `color::Color`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/color.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]   7 | |     pub Color, [ White, Black ]
[INFO] [stdout]   8 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/color.rs:46:19
[INFO] [stdout]    |
[INFO] [stdout] 46 |               Self::from_u8(self.as_u8() ^ 1).unwrap(),
[INFO] [stdout]    |                     ^^^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 46 -             Self::from_u8(self.as_u8() ^ 1).unwrap(),
[INFO] [stdout] 46 +             Self::from(self.as_u8() ^ 1).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/color.rs:46:32
[INFO] [stdout]    |
[INFO] [stdout] 46 |               Self::from_u8(self.as_u8() ^ 1).unwrap(),
[INFO] [stdout]    |                                  ^^^^^ method not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/color.rs:47:19
[INFO] [stdout]    |
[INFO] [stdout] 47 |               Self::from_u8_unchecked(self.as_u8() ^ 1),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/color.rs:47:42
[INFO] [stdout]    |
[INFO] [stdout] 47 |               Self::from_u8_unchecked(self.as_u8() ^ 1),
[INFO] [stdout]    |                                            ^^^^^ method not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/direction.rs:139:27
[INFO] [stdout]     |
[INFO] [stdout] 139 |           let from   = self.as_u8();
[INFO] [stdout]     |                             ^^^^^ method not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/direction.rs:142:28
[INFO] [stdout]     |
[INFO] [stdout] 142 |           let square = Self::from_u8(to)?;
[INFO] [stdout]     |                              ^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 142 -         let square = Self::from_u8(to)?;
[INFO] [stdout] 142 +         let square = Self::from(to)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `file::File` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                   self.index(val.as_usize())
[INFO] [stdout]     |                                  ^^^^^^^^ method not found in `file::File`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/file.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]   8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `file::File` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                   self.index_mut(val.as_usize())
[INFO] [stdout]     |                                      ^^^^^^^^ method not found in `file::File`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/file.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]   8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout]  10 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/core/file.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |               b'A'..=b'H' => Self::from_u8(byte - b'A'),
[INFO] [stdout]    |                                    ^^^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `file::File`, consider using `file::File::from_fen` which returns `Option<file::File>`
[INFO] [stdout]   --> src/core/file.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 19 -             b'A'..=b'H' => Self::from_u8(byte - b'A'),
[INFO] [stdout] 19 +             b'A'..=b'H' => Self::from(byte - b'A'),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/core/file.rs:20:34
[INFO] [stdout]    |
[INFO] [stdout] 20 |               b'a'..=b'h' => Self::from_u8(byte - b'a'),
[INFO] [stdout]    |                                    ^^^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `file::File`, consider using `file::File::from_fen` which returns `Option<file::File>`
[INFO] [stdout]   --> src/core/file.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 20 -             b'a'..=b'h' => Self::from_u8(byte - b'a'),
[INFO] [stdout] 20 +             b'a'..=b'h' => Self::from(byte - b'a'),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/core/file.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |           self.as_u8().abs_diff(other.into())
[INFO] [stdout]    |                ^^^^^ method not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/core/file.rs:59:16
[INFO] [stdout]    |
[INFO] [stdout] 59 |           (value.as_u8() + b'A') as _
[INFO] [stdout]    |                  ^^^^^ method not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/core/file.rs:67:19
[INFO] [stdout]    |
[INFO] [stdout] 67 |               Self::from_u8(s.file_index()).unwrap(),
[INFO] [stdout]    |                     ^^^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `file::File`, consider using `file::File::from_fen` which returns `Option<file::File>`
[INFO] [stdout]   --> src/core/file.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 67 -             Self::from_u8(s.file_index()).unwrap(),
[INFO] [stdout] 67 +             Self::from(s.file_index()).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/core/file.rs:68:19
[INFO] [stdout]    |
[INFO] [stdout] 68 |               Self::from_u8_unchecked(s.file_index()),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `file::File`, consider using `file::File::from_fen` which returns `Option<file::File>`
[INFO] [stdout]   --> src/core/file.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `MoveType` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                   self.index(val.as_usize())
[INFO] [stdout]     |                                  ^^^^^^^^ method not found in `MoveType`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / enumeration! {
[INFO] [stdout]  19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout]  20 | |     ///
[INFO] [stdout]  21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout]  22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout]  23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout]  24 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `MoveType` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                   self.index_mut(val.as_usize())
[INFO] [stdout]     |                                      ^^^^^^^^ method not found in `MoveType`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:18:1
[INFO] [stdout]     |
[INFO] [stdout]  18 | / enumeration! {
[INFO] [stdout]  19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout]  20 | |     ///
[INFO] [stdout]  21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout]  22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout]  23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout]  24 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `MovePromotion` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                   self.index(val.as_usize())
[INFO] [stdout]     |                                  ^^^^^^^^ method not found in `MovePromotion`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | / enumeration! {
[INFO] [stdout]  27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout]  28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout]  29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout]  30 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `MovePromotion` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                   self.index_mut(val.as_usize())
[INFO] [stdout]     |                                      ^^^^^^^^ method not found in `MovePromotion`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/move.rs:26:1
[INFO] [stdout]     |
[INFO] [stdout]  26 | / enumeration! {
[INFO] [stdout]  27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout]  28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout]  29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout]  30 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/move.rs:63:35
[INFO] [stdout]    |
[INFO] [stdout] 63 |           debug_assert!(origin     .as_u8() < (1 << Self::ORIGIN_BITS));
[INFO] [stdout]    |                                     ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/move.rs:64:35
[INFO] [stdout]    |
[INFO] [stdout] 64 |           debug_assert!(destination.as_u8() < (1 << Self::DESTINATION_BITS));
[INFO] [stdout]    |                                     ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/move.rs:66:49
[INFO] [stdout]    |
[INFO] [stdout] 66 |           let bits_destination: u16 = destination.as_u8().into();
[INFO] [stdout]    |                                                   ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/move.rs:67:49
[INFO] [stdout]    |
[INFO] [stdout] 67 |           let bits_origin:      u16 = origin     .as_u8().into();
[INFO] [stdout]    |                                                   ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `{type error}: [const] BitOr` is not satisfied
[INFO] [stdout]   --> src/core/move.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 | /             (bits_destination          << Self::DESTINATION_SHIFT) |
[INFO] [stdout] 71 | |             (bits_origin               << Self::ORIGIN_SHIFT)      |
[INFO] [stdout]    | |_____________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr<NonZero<{type error}>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `{type error}: [const] BitOr` is not satisfied
[INFO] [stdout]   --> src/core/move.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 | /             (bits_destination          << Self::DESTINATION_SHIFT) |
[INFO] [stdout] 71 | |             (bits_origin               << Self::ORIGIN_SHIFT)      |
[INFO] [stdout] 72 | |             ((MoveType::Normal as u16) << Self::MOVE_TYPE_SHIFT)
[INFO] [stdout]    | |________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr<NonZero<{type error}>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/move.rs:140:21
[INFO] [stdout]     |
[INFO] [stdout] 140 |               Square::from_u8(bits).unwrap(),
[INFO] [stdout]     |                       ^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 140 -             Square::from_u8(bits).unwrap(),
[INFO] [stdout] 140 +             Square::from(bits).unwrap(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/move.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |               Square::from_u8_unchecked(bits),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/move.rs:155:21
[INFO] [stdout]     |
[INFO] [stdout] 155 |               Square::from_u8(bits).unwrap(),
[INFO] [stdout]     |                       ^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 155 -             Square::from_u8(bits).unwrap(),
[INFO] [stdout] 155 +             Square::from(bits).unwrap(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/move.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |               Square::from_u8_unchecked(bits),
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `MoveType` in the current scope
[INFO] [stdout]    --> src/core/move.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |               MoveType::from_u8(bits).unwrap(),
[INFO] [stdout]     |                         ^^^^^^^ variant or associated item not found in `MoveType`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 165 -             MoveType::from_u8(bits).unwrap(),
[INFO] [stdout] 165 +             MoveType::from(bits).unwrap(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `MoveType` in the current scope
[INFO] [stdout]    --> src/core/move.rs:166:23
[INFO] [stdout]     |
[INFO] [stdout] 166 |               MoveType::from_u8_unchecked(bits),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^ variant or associated item not found in `MoveType`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `token::Token` in the current scope
[INFO] [stdout]    --> src/core/move.rs:187:29
[INFO] [stdout]     |
[INFO] [stdout] 187 |               + Token::Knight.as_u8();
[INFO] [stdout]     |                               ^^^^^ method not found in `token::Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `token::Token` in the current scope
[INFO] [stdout]    --> src/core/move.rs:190:20
[INFO] [stdout]     |
[INFO] [stdout] 190 |               Token::from_u8(bits).unwrap(),
[INFO] [stdout]     |                      ^^^^^^^ variant or associated item not found in `token::Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 190 -             Token::from_u8(bits).unwrap(),
[INFO] [stdout] 190 +             Token::from(bits).unwrap(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `token::Token` in the current scope
[INFO] [stdout]    --> src/core/move.rs:191:20
[INFO] [stdout]     |
[INFO] [stdout] 191 |               Token::from_u8_unchecked(bits),
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^ variant or associated item not found in `token::Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `piece::Piece` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 |  /         $vis enum $name {
[INFO] [stdout]  16 |  |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 |  |         }
[INFO] [stdout]     |  |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                    self.index(val.as_usize())
[INFO] [stdout]     |                                   ^^^^^^^^ method not found in `piece::Piece`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/piece.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | /  enumeration! {
[INFO] [stdout]   5 | |      /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]   6 | |      /// token.
[INFO] [stdout]   7 | |      ///
[INFO] [stdout] ...   |
[INFO] [stdout]  19 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `piece::Piece` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 |  /         $vis enum $name {
[INFO] [stdout]  16 |  |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 |  |         }
[INFO] [stdout]     |  |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                    self.index_mut(val.as_usize())
[INFO] [stdout]     |                                       ^^^^^^^^ method not found in `piece::Piece`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/piece.rs:4:1
[INFO] [stdout]     |
[INFO] [stdout]   4 | /  enumeration! {
[INFO] [stdout]   5 | |      /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]   6 | |      /// token.
[INFO] [stdout]   7 | |      ///
[INFO] [stdout] ...   |
[INFO] [stdout]  19 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `token::Token` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |           let repr = token.as_u8() << 1 | color.as_u8();
[INFO] [stdout]    |                            ^^^^^ method not found in `token::Token`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:51:47
[INFO] [stdout]    |
[INFO] [stdout] 51 |           let repr = token.as_u8() << 1 | color.as_u8();
[INFO] [stdout]    |                                                 ^^^^^ method not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `{type error}: [const] BitOr` is not satisfied
[INFO] [stdout]   --> src/core/piece.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let repr = token.as_u8() << 1 | color.as_u8();
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr`
[INFO] [stdout]    = note: required for `{type error}` to implement `[const] BitOr<NonZero<{type error}>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `piece::Piece` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 |               Self::from_u8(repr).unwrap(),
[INFO] [stdout]    |                     ^^^^^^^ variant or associated item not found in `piece::Piece`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `piece::Piece` consider using one of the following associated functions:
[INFO] [stdout]       piece::Piece::from_fen
[INFO] [stdout]       piece::Piece::new
[INFO] [stdout]   --> src/core/piece.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub const fn new(color: Color, token: Token) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 54 -             Self::from_u8(repr).unwrap(),
[INFO] [stdout] 54 +             Self::from(repr).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `piece::Piece` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |               Self::from_u8_unchecked(repr),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `piece::Piece`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `piece::Piece` consider using one of the following associated functions:
[INFO] [stdout]       piece::Piece::from_fen
[INFO] [stdout]       piece::Piece::new
[INFO] [stdout]   --> src/core/piece.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub const fn new(color: Color, token: Token) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `piece::Piece` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |           let color = self.as_u8() & 0b1;
[INFO] [stdout]    |                            ^^^^^ method not found in `piece::Piece`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:65:20
[INFO] [stdout]    |
[INFO] [stdout] 65 |               Color::from_u8(color).unwrap(),
[INFO] [stdout]    |                      ^^^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 65 -             Color::from_u8(color).unwrap(),
[INFO] [stdout] 65 +             Color::from(color).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `color::Color` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:66:20
[INFO] [stdout]    |
[INFO] [stdout] 66 |               Color::from_u8_unchecked(color),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ variant or associated item not found in `color::Color`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `piece::Piece` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:73:26
[INFO] [stdout]    |
[INFO] [stdout] 73 |           let token = self.as_u8() >> 1;
[INFO] [stdout]    |                            ^^^^^ method not found in `piece::Piece`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `token::Token` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:76:20
[INFO] [stdout]    |
[INFO] [stdout] 76 |               Token::from_u8(token).unwrap(),
[INFO] [stdout]    |                      ^^^^^^^ variant or associated item not found in `token::Token`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 76 -             Token::from_u8(token).unwrap(),
[INFO] [stdout] 76 +             Token::from(token).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `token::Token` in the current scope
[INFO] [stdout]   --> src/core/piece.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |               Token::from_u8_unchecked(token),
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^ variant or associated item not found in `token::Token`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `rank::Rank` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                   self.index(val.as_usize())
[INFO] [stdout]     |                                  ^^^^^^^^ method not found in `rank::Rank`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/rank.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]   8 | |     /// number.
[INFO] [stdout] ...   |
[INFO] [stdout]  13 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `rank::Rank` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                   self.index_mut(val.as_usize())
[INFO] [stdout]     |                                      ^^^^^^^^ method not found in `rank::Rank`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/rank.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | / enumeration! {
[INFO] [stdout]   6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]   7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]   8 | |     /// number.
[INFO] [stdout] ...   |
[INFO] [stdout]  13 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `rank::Rank` in the current scope
[INFO] [stdout]   --> src/core/rank.rs:22:34
[INFO] [stdout]    |
[INFO] [stdout] 22 |               b'1'..=b'8' => Self::from_u8(byte - b'1'),
[INFO] [stdout]    |                                    ^^^^^^^ variant or associated item not found in `rank::Rank`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `rank::Rank`, consider using `rank::Rank::from_fen` which returns `Option<rank::Rank>`
[INFO] [stdout]   --> src/core/rank.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 22 -             b'1'..=b'8' => Self::from_u8(byte - b'1'),
[INFO] [stdout] 22 +             b'1'..=b'8' => Self::from(byte - b'1'),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `rank::Rank` in the current scope
[INFO] [stdout]   --> src/core/rank.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 |           self.as_u8().abs_diff(other.as_u8())
[INFO] [stdout]    |                ^^^^^ method not found in `rank::Rank`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `rank::Rank` in the current scope
[INFO] [stdout]   --> src/core/rank.rs:32:37
[INFO] [stdout]    |
[INFO] [stdout] 32 |           self.as_u8().abs_diff(other.as_u8())
[INFO] [stdout]    |                                       ^^^^^ method not found in `rank::Rank`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `rank::Rank` in the current scope
[INFO] [stdout]   --> src/core/rank.rs:61:16
[INFO] [stdout]    |
[INFO] [stdout] 61 |           (value.as_u8() + b'1') as _
[INFO] [stdout]    |                  ^^^^^ method not found in `rank::Rank`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `rank::Rank` in the current scope
[INFO] [stdout]   --> src/core/rank.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |               Self::from_u8(s.rank_index()).unwrap(),
[INFO] [stdout]    |                     ^^^^^^^ variant or associated item not found in `rank::Rank`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `rank::Rank`, consider using `rank::Rank::from_fen` which returns `Option<rank::Rank>`
[INFO] [stdout]   --> src/core/rank.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 69 -             Self::from_u8(s.rank_index()).unwrap(),
[INFO] [stdout] 69 +             Self::from(s.rank_index()).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `rank::Rank` in the current scope
[INFO] [stdout]   --> src/core/rank.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |               Self::from_u8_unchecked(s.rank_index()),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `rank::Rank`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `rank::Rank`, consider using `rank::Rank::from_fen` which returns `Option<rank::Rank>`
[INFO] [stdout]   --> src/core/rank.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub const fn from_fen(byte: u8) -> Option<Self> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 |  /         $vis enum $name {
[INFO] [stdout]  16 |  |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 |  |         }
[INFO] [stdout]     |  |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                    self.index(val.as_usize())
[INFO] [stdout]     |                                   ^^^^^^^^ method not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/square.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | /  enumeration! {
[INFO] [stdout]   6 | |      /// A square on a chess board.
[INFO] [stdout]   7 | |      pub Square, [
[INFO] [stdout]   8 | |          A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...   |
[INFO] [stdout]  17 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 |  /         $vis enum $name {
[INFO] [stdout]  16 |  |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 |  |         }
[INFO] [stdout]     |  |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                    self.index_mut(val.as_usize())
[INFO] [stdout]     |                                       ^^^^^^^^ method not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/square.rs:5:1
[INFO] [stdout]     |
[INFO] [stdout]   5 | /  enumeration! {
[INFO] [stdout]   6 | |      /// A square on a chess board.
[INFO] [stdout]   7 | |      pub Square, [
[INFO] [stdout]   8 | |          A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...   |
[INFO] [stdout]  17 | |  }
[INFO] [stdout]     | |__- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 |               Self::from_u8(s).unwrap(),
[INFO] [stdout]    |                     ^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]   --> src/core/square.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 28 -             Self::from_u8(s).unwrap(),
[INFO] [stdout] 28 +             Self::from(s).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 |               Self::from_u8_unchecked(s),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]   --> src/core/square.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |           self.as_u8() & 0b0111
[INFO] [stdout]    |                ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |           self.as_u8() >> 3
[INFO] [stdout]    |                ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |           let s = self.as_u8() ^ Self::H1.as_u8();
[INFO] [stdout]    |                        ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:75:41
[INFO] [stdout]    |
[INFO] [stdout] 75 |           let s = self.as_u8() ^ Self::H1.as_u8();
[INFO] [stdout]    |                                           ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 78 |               Self::from_u8(s).unwrap(),
[INFO] [stdout]    |                     ^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]   --> src/core/square.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 78 -             Self::from_u8(s).unwrap(),
[INFO] [stdout] 78 +             Self::from(s).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 |               Self::from_u8_unchecked(s),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]   --> src/core/square.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:87:22
[INFO] [stdout]    |
[INFO] [stdout] 87 |           let s = self.as_u8() ^ Self::A8.as_u8();
[INFO] [stdout]    |                        ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:87:41
[INFO] [stdout]    |
[INFO] [stdout] 87 |           let s = self.as_u8() ^ Self::A8.as_u8();
[INFO] [stdout]    |                                           ^^^^^ method not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |               Self::from_u8(s).unwrap(),
[INFO] [stdout]    |                     ^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]   --> src/core/square.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 90 -             Self::from_u8(s).unwrap(),
[INFO] [stdout] 90 +             Self::from(s).unwrap(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/core/square.rs:91:19
[INFO] [stdout]    |
[INFO] [stdout] 91 |               Self::from_u8_unchecked(s),
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]   --> src/core/square.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/square.rs:112:22
[INFO] [stdout]     |
[INFO] [stdout] 112 |           let s = self.as_u8() ^ (color.as_u8() * 0b0011_1000);
[INFO] [stdout]     |                        ^^^^^ method not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `color::Color` in the current scope
[INFO] [stdout]    --> src/core/square.rs:112:39
[INFO] [stdout]     |
[INFO] [stdout] 112 |           let s = self.as_u8() ^ (color.as_u8() * 0b0011_1000);
[INFO] [stdout]     |                                         ^^^^^ method not found in `color::Color`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/square.rs:115:19
[INFO] [stdout]     |
[INFO] [stdout] 115 |               Self::from_u8(s).unwrap(),
[INFO] [stdout]     |                     ^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 115 -             Self::from_u8(s).unwrap(),
[INFO] [stdout] 115 +             Self::from(s).unwrap(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/square.rs:116:19
[INFO] [stdout]     |
[INFO] [stdout] 116 |               Self::from_u8_unchecked(s),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/square.rs:160:29
[INFO] [stdout]     |
[INFO] [stdout] 160 |           let lateral  = self.as_u8().wrapping_add_signed(dir.lateral_part() .as_i8());
[INFO] [stdout]     |                               ^^^^^ method not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/square.rs:161:29
[INFO] [stdout]     |
[INFO] [stdout] 161 |           let vertical = self.as_u8().wrapping_add_signed(dir.vertical_part().as_i8());
[INFO] [stdout]     |                               ^^^^^ method not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_u8` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/square.rs:166:19
[INFO] [stdout]     |
[INFO] [stdout] 166 |               Self::from_u8(sum).unwrap(),
[INFO] [stdout]     |                     ^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: there is an associated function `from` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 166 -             Self::from_u8(sum).unwrap(),
[INFO] [stdout] 166 +             Self::from(sum).unwrap(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `from_u8_unchecked` found for enum `square::Square` in the current scope
[INFO] [stdout]    --> src/core/square.rs:167:19
[INFO] [stdout]     |
[INFO] [stdout] 167 |               Self::from_u8_unchecked(sum),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- variant or associated item `from_u8_unchecked` not found for this enum
[INFO] [stdout]     |
[INFO] [stdout] note: if you're trying to build a new `square::Square`, consider using `square::Square::new` which returns `square::Square`
[INFO] [stdout]    --> src/core/square.rs:22:5
[INFO] [stdout]     |
[INFO] [stdout]  22 |     pub const fn new(file: File, rank: Rank) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `token::Token` in the current scope
[INFO] [stdout]    --> src/core.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 113 |                   self.index(val.as_usize())
[INFO] [stdout]     |                                  ^^^^^^^^ method not found in `token::Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/token.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]   6 | |     pub Token, [
[INFO] [stdout] ...   |
[INFO] [stdout]   9 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_usize` found for enum `token::Token` in the current scope
[INFO] [stdout]    --> src/core.rs:119:36
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         $vis enum $name {
[INFO] [stdout]  16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout]  17 | |         }
[INFO] [stdout]     | |_________- method `as_usize` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 119 |                   self.index_mut(val.as_usize())
[INFO] [stdout]     |                                      ^^^^^^^^ method not found in `token::Token`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/token.rs:3:1
[INFO] [stdout]     |
[INFO] [stdout]   3 | / enumeration! {
[INFO] [stdout]   4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]   5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]   6 | |     pub Token, [
[INFO] [stdout] ...   |
[INFO] [stdout]   9 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `piece::Piece` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:34:71
[INFO] [stdout]    |
[INFO] [stdout] 34 |           let mut psq        = [[Key::default(); Square::COUNT]; Piece::COUNT];
[INFO] [stdout]    |                                                                         ^^^^^ variant or associated item not found in `piece::Piece`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:34:56
[INFO] [stdout]    |
[INFO] [stdout] 34 |           let mut psq        = [[Key::default(); Square::COUNT]; Piece::COUNT];
[INFO] [stdout]    |                                                          ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:35:53
[INFO] [stdout]    |
[INFO] [stdout] 35 |           let mut en_passant = [Key::default(); File::COUNT];
[INFO] [stdout]    |                                                       ^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `piece::Piece` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:43:26
[INFO] [stdout]    |
[INFO] [stdout] 43 |           while i < Piece::COUNT {
[INFO] [stdout]    |                            ^^^^^ variant or associated item not found in `piece::Piece`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `square::Square` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:46:31
[INFO] [stdout]    |
[INFO] [stdout] 46 |               while j < Square::COUNT {
[INFO] [stdout]    |                                 ^^^^^ variant or associated item not found in `square::Square`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `COUNT` found for enum `file::File` in the current scope
[INFO] [stdout]   --> src/hash/zobrist.rs:57:25
[INFO] [stdout]    |
[INFO] [stdout] 57 |           while i < File::COUNT {
[INFO] [stdout]    |                           ^^^^^ variant or associated item not found in `file::File`
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         $vis enum $name {
[INFO] [stdout] 16 | |             $(#[allow(missing_docs)] $var = ${index()}),+
[INFO] [stdout] 17 | |         }
[INFO] [stdout]    | |_________- variant or associated item `COUNT` not found for this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `Default` is not yet stable as a const trait
[INFO] [stdout]   --> src/core/castling/castling_rights.rs:10:20
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[derive_const(Default)]
[INFO] [stdout]    |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/castling/castling_side.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// Represents a side to which castling may occur, kingside or queenside.
[INFO] [stdout]  5 | |     pub CastlingSide, [ King, Queen ]
[INFO] [stdout]  6 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/castling/castling_variety.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// Represents a complete type of castling, including the color to castle
[INFO] [stdout]  5 | |     /// and the side to which castling will occur.
[INFO] [stdout]  6 | |     pub CastlingVariety, [
[INFO] [stdout] ...  |
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/color.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A color of a chess token, white or black.
[INFO] [stdout]  7 | |     pub Color, [ White, Black ]
[INFO] [stdout]  8 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/file.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]  7 | |     /// prefixed with an underscore to mimic those of [`Rank`].
[INFO] [stdout]  8 | |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]  9 | |     pub File, [ _A, _B, _C, _D, _E, _F, _G, _H ]
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]  --> src/core/file.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   |                    ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]  --> src/lib.rs:90:1
[INFO] [stdout]   |
[INFO] [stdout] 90+ #![feature(core_intrinsics)]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]  --> src/core/file.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]  --> src/lib.rs:90:1
[INFO] [stdout]   |
[INFO] [stdout] 90+ #![feature(core_intrinsics)]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/move.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | / enumeration! {
[INFO] [stdout] 19 | |     /// Encodes the type of [`Move`] being made.
[INFO] [stdout] 20 | |     ///
[INFO] [stdout] 21 | |     /// Note that a [`MoveType::EnPassant`] represents the *capture* of a pawn
[INFO] [stdout] 22 | |     /// en passant, not a two square pawn movement.
[INFO] [stdout] 23 | |     pub MoveType, [ Normal, Promotion, EnPassant, Castling ]
[INFO] [stdout] 24 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/move.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | / enumeration! {
[INFO] [stdout] 27 | |     /// Promotions can only result in four of the possible types of token, so we
[INFO] [stdout] 28 | |     /// create an enum of them specifically for the sake of bit-packing.
[INFO] [stdout] 29 | |     MovePromotion, [ Knight, Bishop, Rook, Queen ]
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/piece.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / enumeration! {
[INFO] [stdout]  5 | |     /// A piece to be placed on a chess board. Combines a color with a type of
[INFO] [stdout]  6 | |     /// token.
[INFO] [stdout]  7 | |     ///
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/rank.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A rank, 1 through 8, on a chess board. The variants for this enum are
[INFO] [stdout]  7 | |     /// prefixed with an underscore since identifiers may not begin with a
[INFO] [stdout]  8 | |     /// number.
[INFO] [stdout] ...  |
[INFO] [stdout] 13 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]  --> src/core/rank.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   |                    ^^^
[INFO] [stdout]   |
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]  --> src/lib.rs:90:1
[INFO] [stdout]   |
[INFO] [stdout] 90+ #![feature(core_intrinsics)]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]  --> src/core/rank.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 |     #[derive_const(Ord, PartialOrd)]
[INFO] [stdout]   |                         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]  --> src/lib.rs:90:1
[INFO] [stdout]   |
[INFO] [stdout] 90+ #![feature(core_intrinsics)]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]  --> src/core/ruleset.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[derive_const(Clone, PartialEq)]
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]  --> src/lib.rs:90:1
[INFO] [stdout]   |
[INFO] [stdout] 90+ #![feature(core_intrinsics)]
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/square.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout]  5 | / enumeration! {
[INFO] [stdout]  6 | |     /// A square on a chess board.
[INFO] [stdout]  7 | |     pub Square, [
[INFO] [stdout]  8 | |         A1, B1, C1, D1, E1, F1, G1, H1,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `discriminant_value` is not yet stable as a const intrinsic
[INFO] [stdout]   --> src/core.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 |           #[derive_const(::core::cmp::PartialEq)]
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/core/token.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | / enumeration! {
[INFO] [stdout]  4 | |     /// A file, A through H, on a chess board. The variants for this enum are
[INFO] [stdout]  5 | |     /// prefixed an underscore to mimic those of [`Rank`].
[INFO] [stdout]  6 | |     pub Token, [
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `::core::cmp::PartialEq` which comes from the expansion of the macro `enumeration` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: add `#![feature(core_intrinsics)]` to the crate attributes to enable
[INFO] [stdout]   --> src/lib.rs:90:1
[INFO] [stdout]    |
[INFO] [stdout] 90 + #![feature(core_intrinsics)]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `Default` is not yet stable as a const trait
[INFO] [stdout]   --> src/hash.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[derive_const(Clone, Default, PartialEq)]
[INFO] [stdout]    |                       ------- in this derive macro expansion
[INFO] [stdout] 25 | #[must_use]
[INFO] [stdout] 26 | pub struct Key(u64);
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0554, E0557, E0599, E0635, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `stockfish-core` (lib) due to 235 previous errors; 43 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "7ed4c86837ce5f85546538088a340b620a354607b3933851823e2c9cc11749e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ed4c86837ce5f85546538088a340b620a354607b3933851823e2c9cc11749e2", kill_on_drop: false }`
[INFO] [stdout] 7ed4c86837ce5f85546538088a340b620a354607b3933851823e2c9cc11749e2
