use LazyLock instead of lazy_static

This commit is contained in:
2025-02-28 18:10:39 -05:00
parent 1b195b0f91
commit fc02a9e512
4 changed files with 5 additions and 18 deletions

7
Cargo.lock generated
View File

@@ -310,12 +310,6 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "lazy_static"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.170" version = "0.2.170"
@@ -441,7 +435,6 @@ dependencies = [
"criterion", "criterion",
"either", "either",
"indicatif", "indicatif",
"lazy_static",
"nohash-hasher", "nohash-hasher",
"num", "num",
"rand", "rand",

View File

@@ -30,7 +30,6 @@ bitvec = { version = "1", optional = true }
const_fn = "0.4" const_fn = "0.4"
either = "1.13" either = "1.13"
indicatif = "0.17" indicatif = "0.17"
lazy_static = "1.5"
nohash-hasher = "0.2" nohash-hasher = "0.2"
num = "0.4" num = "0.4"
rand = "0.9" rand = "0.9"

View File

@@ -1,6 +1,6 @@
use super::board_value::BoardValueMap; use super::board_value::BoardValueMap;
use crate::repr::{Board, CoordPair, Piece, Winner}; use crate::repr::{Board, CoordPair, Piece, Winner};
use lazy_static::lazy_static; use std::sync::LazyLock;
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct Move { pub struct Move {
@@ -35,9 +35,7 @@ pub struct Move {
pub is_trimmed: bool, pub is_trimmed: bool,
} }
lazy_static! { static BVM: LazyLock<BoardValueMap> = LazyLock::new(|| BoardValueMap::new());
static ref BVM: BoardValueMap = BoardValueMap::new();
}
impl Move { impl Move {
pub fn new(coord: Option<CoordPair>, board: Board, color: Piece, agent_color: Piece) -> Self { pub fn new(coord: Option<CoordPair>, board: Board, color: Piece, agent_color: Piece) -> Self {

View File

@@ -5,8 +5,7 @@ use super::{
CoordAxis, CoordPair, CoordAxis, CoordPair,
}; };
use const_fn::const_fn; use const_fn::const_fn;
use lazy_static::lazy_static; use std::{cmp::Ordering, fmt, sync::LazyLock};
use std::{cmp::Ordering, fmt};
#[derive(PartialEq, Eq, Copy, Clone, Debug)] #[derive(PartialEq, Eq, Copy, Clone, Debug)]
pub enum Winner { pub enum Winner {
@@ -15,10 +14,8 @@ pub enum Winner {
None, None,
} }
lazy_static! {
/// Precompute all possible chains for each position on the board /// Precompute all possible chains for each position on the board
static ref ADJ_LOOKUP: PosMap<ChainCollection> = gen_adj_lookup(); static ADJ_LOOKUP: LazyLock<PosMap<ChainCollection>> = LazyLock::new(|| gen_adj_lookup());
}
/// Repersents a Othello game board at a certain space /// Repersents a Othello game board at a certain space
#[derive(Copy, Clone, PartialEq, Eq)] #[derive(Copy, Clone, PartialEq, Eq)]