Skip to content
This repository was archived by the owner on Feb 17, 2026. It is now read-only.

Commit e250431

Browse files
committed
refactor: some minor changes for clearity
1 parent d38bed0 commit e250431

File tree

2 files changed

+14
-22
lines changed

2 files changed

+14
-22
lines changed

src/utils/hash.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ pub enum HashError {
5555
pub async fn digest_for_file(path: &str, mut hasher: Box<dyn DynDigest + Send + Unpin>) -> Result<String, HashError> {
5656
let mut fd = File::open(path).await?;
5757
// for files smaller than 1MB we can read the whole file into memory
58-
if fd.metadata().await.unwrap().len() < 1024 * 1024 {
58+
let metadata = fd.metadata().await.map_err(HashError::IoError)?;
59+
if metadata.len() < 1024 * 1024 {
5960
let mut buf = Vec::new();
6061
fd.read_to_end(&mut buf).await?;
6162
hasher.update(&buf);
@@ -110,7 +111,8 @@ pub async fn digests_for_file(
110111
) -> Result<Vec<String>, HashError> {
111112
let mut fd = File::open(path).await?;
112113
// for files smaller than 1MB we can read the whole file into memory
113-
if fd.metadata().await.unwrap().len() < 1024 * 1024 {
114+
let metadata = fd.metadata().await.map_err(HashError::IoError)?;
115+
if metadata.len() < 1024 * 1024 {
114116
let mut buf = Vec::new();
115117
fd.read_to_end(&mut buf).await?;
116118
for hasher in &mut hashers {

src/utils/states.rs

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -32,51 +32,41 @@ impl<Key, State> StateMap<Key, State> {
3232

3333
impl<Key: Ord + Clone, State> States<Key, State> for StateMap<Key, State> {
3434
fn insert(&self, key: Key, item: State) -> bool {
35-
let guard = self._inner.write();
36-
if guard.is_err() {
35+
let Ok(mut guard) = self._inner.write() else {
3736
return false;
38-
}
39-
let mut guard = guard.unwrap();
37+
};
4038
guard.insert(key, Arc::new(item));
4139
true
4240
}
4341

4442
fn get_arc(&self, key: &Key) -> Option<Arc<State>> {
45-
let guard = self._inner.read();
46-
if guard.is_err() {
43+
let Ok(guard) = self._inner.read() else {
4744
return None;
48-
}
49-
let guard = guard.unwrap();
45+
};
5046
guard.get(key).cloned()
5147
}
5248

5349
fn remove(&self, key: &Key) {
54-
let guard = self._inner.write();
55-
if guard.is_err() {
50+
let Ok(mut guard) = self._inner.write() else {
5651
return;
57-
}
58-
let mut guard = guard.unwrap();
52+
};
5953
guard.remove(key);
6054
}
6155

6256
fn list(&self) -> Vec<Key> {
63-
let guard = self._inner.read();
64-
if guard.is_err() {
57+
let Ok(guard) = self._inner.read() else {
6558
return Vec::with_capacity(0);
66-
}
67-
let guard = guard.unwrap();
59+
};
6860
guard.keys().cloned().collect()
6961
}
7062
}
7163

7264
impl<Key: Ord + Clone, State> StateMap<Key, State> {
7365
pub fn try_insert_deferred_returning<F>(&self, key: Key, f: F) -> Option<Arc<State>>
7466
where F: FnOnce() -> State {
75-
let guard = self._inner.write();
76-
if guard.is_err() {
67+
let Ok(mut guard) = self._inner.write() else {
7768
return None;
78-
}
79-
let mut guard = guard.unwrap();
69+
};
8070
match guard.entry(key) {
8171
Entry::Vacant(vacant_entry) => {
8272
let val = Arc::new(f());

0 commit comments

Comments
 (0)