From 51c7bb7b85e16a10a7b23861a92bc8510aae32e1 Mon Sep 17 00:00:00 2001 From: ShenMian Date: Thu, 20 Jun 2024 02:35:18 +0800 Subject: [PATCH] refactor(database): replace SipHasher with DefaultHasher --- Cargo.lock | 7 ------- Cargo.toml | 1 - src/database.rs | 5 ++--- src/main.rs | 3 ++- src/solve/state.rs | 5 ++--- 5 files changed, 6 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 689ea12..87e6123 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3644,12 +3644,6 @@ dependencies = [ "quote", ] -[[package]] -name = "siphasher" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" - [[package]] name = "slab" version = "0.4.9" @@ -3737,7 +3731,6 @@ dependencies = [ "nalgebra", "rusqlite", "serde", - "siphasher", "soukoban", "toml", "winit", diff --git a/Cargo.toml b/Cargo.toml index 9400fd1..a3517c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,6 @@ soukoban = { git = "https://github.com/ShenMian/soukoban" } bitflags = "2.4" nalgebra = "0.32" itertools = "0.13" -siphasher = "1.0" leafwing-input-manager = "0.13" bevy_kira_audio = "0.19" diff --git a/src/database.rs b/src/database.rs index 77c6998..b638497 100644 --- a/src/database.rs +++ b/src/database.rs @@ -1,9 +1,8 @@ -use std::hash::{Hash, Hasher}; +use std::hash::{DefaultHasher, Hash, Hasher}; use std::path::Path; use std::str::FromStr; use rusqlite::Connection; -use siphasher::sip::SipHasher24; use soukoban::{Actions, Level}; pub struct Database { @@ -223,7 +222,7 @@ impl Database { /// Computes a normalized hash for the provided level. fn normalized_hash(level: &Level) -> String { - let mut hasher = SipHasher24::new(); + let mut hasher = DefaultHasher::new(); let mut normalized_level = level.clone(); normalized_level.normalize(); normalized_level.hash(&mut hasher); diff --git a/src/main.rs b/src/main.rs index 8f4c5fa..09dcfc3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -52,7 +52,8 @@ fn load_input_map() -> InputMap { fs::write(KEYMAP_FILE_PATH, default_keymap_toml).unwrap(); } let keymap_toml = fs::read_to_string(KEYMAP_FILE_PATH).unwrap(); - let input_map: InputMap = toml::from_str(keymap_toml.as_str()).unwrap(); + let input_map: InputMap = + toml::from_str(keymap_toml.as_str()).expect("failed to parse `keymap.toml`"); input_map } diff --git a/src/solve/state.rs b/src/solve/state.rs index ef75b38..490cdfb 100644 --- a/src/solve/state.rs +++ b/src/solve/state.rs @@ -2,13 +2,12 @@ use std::{ cell::OnceCell, cmp::Ordering, collections::HashSet, - hash::{Hash, Hasher}, + hash::{DefaultHasher, Hash, Hasher}, }; use crate::solve::solver::*; use nalgebra::Vector2; -use siphasher::sip::SipHasher24; use soukoban::{ deadlock, direction::Direction, @@ -184,7 +183,7 @@ impl State { /// Returns a normalized hash of the current state. pub fn normalized_hash(&self, solver: &Solver) -> u64 { - let mut hasher = SipHasher24::new(); + let mut hasher = DefaultHasher::new(); self.normalized(solver).hash(&mut hasher); hasher.finish() }