From 00a9ad29a8aef878a7c4b33e4e90f5d801711561 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Sun, 22 Jan 2023 21:24:30 -0600 Subject: [PATCH] fix memory leak --- packages/core/src/scopes.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/core/src/scopes.rs b/packages/core/src/scopes.rs index 725c26cf9..275f93c96 100644 --- a/packages/core/src/scopes.rs +++ b/packages/core/src/scopes.rs @@ -73,6 +73,15 @@ pub(crate) struct ScopeSlab { entries: Slab>, } +impl Drop for ScopeSlab { + fn drop(&mut self) { + // Bump slab doesn't drop its contents, so we need to do it manually + for slot in self.entries.drain() { + self.slab.remove(slot); + } + } +} + impl Default for ScopeSlab { fn default() -> Self { Self {