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),