INNER CODE UNIT · Rust
get_internal
xoriors/rencfs · src/arc_hashmap.rs:55
fn get_internal(&self, v: Option<&Value<V>>) -> Option<Holder<'_, K, V>> {
if let Some((v, rc)) = v {
rc.fetch_add(1, Ordering::SeqCst);
return Some(Holder {
val: v.clone(),
rc: rc.clone(),
map: self,
});
}
None
}
#[allow(clippy::missing_panics_doc)]
pub fn get_or_insert_with<F>(&self, key: K, f: F) -> Holder<'_, K, V>
where
F: FnOnce() -> V,
{
let mut map = self.map.write().expect("cannot obtain lock");