diff --git a/packages/sycamore-reactive/src/signal.rs b/packages/sycamore-reactive/src/signal.rs index d24e45022..7b93d35cb 100644 --- a/packages/sycamore-reactive/src/signal.rs +++ b/packages/sycamore-reactive/src/signal.rs @@ -82,6 +82,12 @@ impl Clone for StateHandle { } } +impl Default for StateHandle { + fn default() -> Self { + Signal::new(T::default()).into_handle() + } +} + impl fmt::Debug for StateHandle { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.debug_tuple("StateHandle") @@ -198,10 +204,7 @@ impl Signal { } } -impl Default for Signal -where - T: 'static + Default, -{ +impl Default for Signal { fn default() -> Self { Self::new(T::default()) }