use core::ops::{Deref, DerefMut}; use hashbrown::HashMap; pub struct DeviceHashMap(Option>); impl DeviceHashMap { pub fn new() -> Self { Self(Some(HashMap::new())) } } impl Deref for DeviceHashMap { type Target = HashMap; fn deref(&self) -> &Self::Target { self.0.as_ref().unwrap() } } impl DerefMut for DeviceHashMap { fn deref_mut(&mut self) -> &mut Self::Target { self.0.as_mut().unwrap() } }