diff --git a/packages/signals/src/signal.rs b/packages/signals/src/signal.rs index 94e95b13b..a11df5640 100644 --- a/packages/signals/src/signal.rs +++ b/packages/signals/src/signal.rs @@ -261,9 +261,6 @@ impl Signal { pub fn maybe_sync_memo>>( mut f: impl FnMut() -> T + 'static, ) -> ReadOnlySignal { - let mut state = Signal:: { - inner: CopyValue::invalid(), - }; let effect = Effect { source: current_scope_id().expect("in a virtual dom"), inner: CopyValue::invalid(), @@ -272,12 +269,7 @@ impl Signal { { EFFECT_STACK.with(|stack| stack.effects.write().push(effect)); } - state.inner.value.set(SignalData { - subscribers: Default::default(), - update_any: schedule_update_any(), - value: f(), - effect_ref: get_effect_ref(), - }); + let mut state: Signal = Signal::new_maybe_sync(f()); { EFFECT_STACK.with(|stack| stack.effects.write().pop()); }