medmodels_utils/
traits.rs

1use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard};
2
3pub trait ReadWriteOrPanic<T> {
4    fn read_or_panic(&self) -> RwLockReadGuard<'_, T>;
5
6    fn write_or_panic(&self) -> RwLockWriteGuard<'_, T>;
7}
8
9impl<T> ReadWriteOrPanic<T> for RwLock<T> {
10    fn read_or_panic(&self) -> RwLockReadGuard<'_, T> {
11        self.read().unwrap()
12    }
13
14    fn write_or_panic(&self) -> RwLockWriteGuard<'_, T> {
15        self.write().unwrap()
16    }
17}