From 1546fce485caa329a3885d38405ed7ad3f7c6cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Esp=C3=ADn?= Date: Sat, 10 Jun 2023 18:26:02 +0200 Subject: [PATCH] fix: Properly drop UseFuture's values to avoid leaking memory --- packages/hooks/src/usefuture.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/hooks/src/usefuture.rs b/packages/hooks/src/usefuture.rs index f540e0a6e..18bf50310 100644 --- a/packages/hooks/src/usefuture.rs +++ b/packages/hooks/src/usefuture.rs @@ -89,6 +89,14 @@ pub struct UseFuture { values: Rc>>, } +impl Drop for UseFuture { + fn drop(&mut self) { + for value in self.values.take().into_iter() { + drop(unsafe { Box::from_raw(value) }) + } + } +} + pub enum UseFutureState<'a, T> { Pending, Complete(&'a T),