get rid of OptionSquare
This commit is contained in:
parent
4c137d3c95
commit
ebab07f5ae
3 changed files with 21 additions and 67 deletions
46
src/board.rs
46
src/board.rs
|
|
@ -434,52 +434,6 @@ impl core::str::FromStr for Square {
|
|||
}
|
||||
}
|
||||
|
||||
#[rustfmt::skip]
|
||||
#[allow(unused)]
|
||||
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
#[repr(u8)]
|
||||
pub(crate) enum OptionSquare {
|
||||
A1, B1, C1, D1, E1, F1, G1, H1,
|
||||
A2, B2, C2, D2, E2, F2, G2, H2,
|
||||
A3, B3, C3, D3, E3, F3, G3, H3,
|
||||
A4, B4, C4, D4, E4, F4, G4, H4,
|
||||
A5, B5, C5, D5, E5, F5, G5, H5,
|
||||
A6, B6, C6, D6, E6, F6, G6, H6,
|
||||
A7, B7, C7, D7, E7, F7, G7, H7,
|
||||
A8, B8, C8, D8, E8, F8, G8, H8,
|
||||
None,
|
||||
}
|
||||
|
||||
impl OptionSquare {
|
||||
#[inline]
|
||||
pub(crate) fn new(square: Option<Square>) -> OptionSquare {
|
||||
match square {
|
||||
Some(square) => Self::from_square(square),
|
||||
None => Self::None,
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub(crate) fn try_into_square(self) -> Option<Square> {
|
||||
unsafe {
|
||||
match self {
|
||||
Self::None => None,
|
||||
_ => Some(Square::new_unchecked(self as u8)),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub(crate) fn from_square(square: Square) -> Self {
|
||||
unsafe { core::mem::transmute(square) }
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub(crate) fn bitboard(&self) -> Bitboard {
|
||||
Bitboard(1 << (*self as u8))
|
||||
}
|
||||
}
|
||||
|
||||
/// A type of piece.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
#[repr(u8)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue