posmap: use std::mem::swap

This commit is contained in:
Simon Gardling 2025-04-30 18:08:40 -04:00
parent b5e73cbbcf
commit ef2e551085
Signed by: titaniumtown
GPG Key ID: 9AB28AC10ECE533D

View File

@ -14,12 +14,12 @@ impl<T: Copy> PosMap<T> {
Self(MaybeUninit::zeroed().assume_init())
}
pub const fn from(v: [[T; Board::SIZE as usize]; Board::SIZE as usize]) -> Self {
pub const fn from(mut v: [[T; Board::SIZE as usize]; Board::SIZE as usize]) -> Self {
let mut n = unsafe { Self::uninit() };
const_for!(i in 0..Board::SIZE => {
const_for!(j in 0..Board::SIZE => {
n.set(CoordPair::from_axes(i, j), v[i as usize][j as usize]);
std::mem::swap(n.get_mut(CoordPair::from_axes(i, j)), &mut v[i as usize][j as usize]);
});
});
n