diff --git a/Cargo.toml b/Cargo.toml index 02f1792..68d4882 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "eschac" version = "0.1.0" -edition = "2021" +edition = "2024" authors = ["Paul-Nicolas Madelaine "] license = "AGPL-3.0-or-later" description = "computing chess moves" diff --git a/src/bitboard.rs b/src/bitboard.rs index 24fdcbe..3c7f392 100644 --- a/src/bitboard.rs +++ b/src/bitboard.rs @@ -42,7 +42,7 @@ impl Bitboard { #[inline] pub const fn pop(&mut self) -> Option { - let Self(ref mut mask) = self; + let mask = &mut self.0; let square = match mask { 0 => None, _ => Some(unsafe { Square::new_unchecked(mask.trailing_zeros() as u8) }), diff --git a/src/board.rs b/src/board.rs index b792297..36cd23c 100644 --- a/src/board.rs +++ b/src/board.rs @@ -126,7 +126,7 @@ impl File { #[inline] pub const unsafe fn new_unchecked(index: u8) -> Self { debug_assert!(index < 8); - std::mem::transmute(index) + unsafe { std::mem::transmute(index) } } #[inline] @@ -216,7 +216,7 @@ impl Rank { #[inline] pub const unsafe fn new_unchecked(index: u8) -> Self { debug_assert!(index < 8); - std::mem::transmute(index) + unsafe { std::mem::transmute(index) } } #[inline] @@ -315,7 +315,7 @@ impl Square { #[inline] pub const unsafe fn new_unchecked(index: u8) -> Self { debug_assert!(index < 64); - std::mem::transmute(index) + unsafe { std::mem::transmute(index) } } #[inline] @@ -673,7 +673,7 @@ impl Direction { #[inline] const unsafe fn transmute(value: u8) -> Self { debug_assert!(value < 8); - std::mem::transmute(value) + unsafe { std::mem::transmute(value) } } } diff --git a/src/lookup.rs b/src/lookup.rs index fff7b9e..bfbafa2 100644 --- a/src/lookup.rs +++ b/src/lookup.rs @@ -435,16 +435,20 @@ unsafe fn magic_aux(shr: u8, magic: Magic, blockers: Bitboard) -> Bitboard { factor, offset, } = magic; - debug_assert!(MAGIC_TABLE - .get( - (hash(shr, factor, blockers | premask) as isize) - .checked_add(offset) - .unwrap() as usize + debug_assert!( + MAGIC_TABLE + .get( + (hash(shr, factor, blockers | premask) as isize) + .checked_add(offset) + .unwrap() as usize + ) + .is_some() + ); + unsafe { + *MAGIC_TABLE.get_unchecked( + ((hash(shr, factor, blockers | premask) as isize).unchecked_add(offset)) as usize, ) - .is_some()); - *MAGIC_TABLE.get_unchecked( - ((hash(shr, factor, blockers | premask) as isize).unchecked_add(offset)) as usize, - ) + } } #[inline]