From 993af2a1916485f854dddc08848d132b3471b67b Mon Sep 17 00:00:00 2001 From: Simon Gardling Date: Wed, 12 Feb 2025 10:35:54 -0500 Subject: [PATCH] add const_assert for BitBoard --- Cargo.lock | 7 +++++++ Cargo.toml | 1 + src/bitboard.rs | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 85f0bea..9995774 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -170,6 +170,7 @@ dependencies = [ "num", "rand", "rayon", + "static_assertions", ] [[package]] @@ -250,6 +251,12 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "syn" version = "2.0.98" diff --git a/Cargo.toml b/Cargo.toml index 05560b9..edfb972 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,3 +14,4 @@ lazy_static = "1.5.0" num = "0.4" rand = "0.9" rayon = "1.10" +static_assertions = "1.1.0" diff --git a/src/bitboard.rs b/src/bitboard.rs index 6dd9330..5996ce2 100644 --- a/src/bitboard.rs +++ b/src/bitboard.rs @@ -1,4 +1,11 @@ use crate::board::BOARD_SIZE; +use static_assertions::const_assert_eq; + +// BitBoard should be big enough to fit all points on the board +const_assert_eq!( + std::mem::size_of::() * 8, + (BOARD_SIZE * BOARD_SIZE) +); /// 8x8 /// TODO! look into variable length bit arrays in rust