diff --git a/src/bitboard.rs b/src/bitboard.rs index 7639929..dd225fa 100644 --- a/src/bitboard.rs +++ b/src/bitboard.rs @@ -3,7 +3,7 @@ use crate::board::*; /// A set of squares. -#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] pub struct Bitboard(pub u64); impl Bitboard { diff --git a/src/position.rs b/src/position.rs index 371b69a..11eaba0 100644 --- a/src/position.rs +++ b/src/position.rs @@ -196,7 +196,7 @@ impl Position { .as_setup() .en_passant .map(|square| square.bitboard()) - .unwrap_or(Bitboard::new()), + .unwrap_or_default(), }; self.generate_moves(&mut moves).is_break() } @@ -478,6 +478,13 @@ impl core::fmt::Debug for Position { } } +impl Default for Position { + #[inline] + fn default() -> Self { + Self::new() + } +} + #[derive(Clone, Copy)] pub(crate) struct RawMove { pub kind: MoveType, diff --git a/src/setup.rs b/src/setup.rs index 3961f27..f8584b1 100644 --- a/src/setup.rs +++ b/src/setup.rs @@ -541,6 +541,13 @@ impl core::fmt::Debug for Setup { } } +impl Default for Setup { + #[inline] + fn default() -> Self { + Self::new() + } +} + /// An invalid position. /// /// This is an illegal position that can't be represented with the [`Position`] type.