diff --git a/src/core/registry.rs b/src/core/registry.rs index 30d8517..23c3da7 100644 --- a/src/core/registry.rs +++ b/src/core/registry.rs @@ -54,6 +54,14 @@ impl Registry { pub fn clear(&self) { self.lock().clear(); } + pub fn is_empty(&self) -> bool { + let registry = self.0.lock(); + let Some(registry) = &*registry else {return true}; + if registry.is_empty() { + return true; + } + registry.values().all(|v| v.strong_count() == 0) + } } impl Clone for Registry { fn clone(&self) -> Self {