diff --git a/src/tools/async_lru_cache.rs b/src/tools/async_lru_cache.rs index cc385ec9..62e74fcd 100644 --- a/src/tools/async_lru_cache.rs +++ b/src/tools/async_lru_cache.rs @@ -65,15 +65,16 @@ impl AsyncL }; let result = result_fut.await; - match result { - Ok(Some(ref value)) if owner => { - // this call was the one initiating the request, put into LRU and remove from map - let mut maps = self.maps.lock().unwrap(); + + if owner { + // this call was the one initiating the request, put into LRU and remove from map + let mut maps = self.maps.lock().unwrap(); + if let Ok(Some(ref value)) = result { maps.0.insert(key, value.clone()); - maps.1.remove(&key); } - _ => {} + maps.1.remove(&key); } + result } }