Adjust impl for signal syntax to allow cloned values

This commit is contained in:
Jonathan Kelley committed 2024-01-15 21:43:30 -08:00
1 parent 33bba24867
commit d88561f973
2 files changed
+6 -3

No files matched your search

+1 -1
View File
@@ -14,7 +14,7 @@ fn app() -> Element {
// Signals are backed by a runtime that is designed to deeply integrate with Dioxus apps
use_future(|| async move {
loop {
if running.cloned() {
if running() {
count += 1;
}
tokio::time::sleep(Duration::from_millis(400)).await;
+5 -2
View File
@@ -348,7 +348,10 @@ impl<T: 'static> PartialEq for Signal<T> {
}
}
impl<T: Copy> Deref for Signal<T> {
/// Allow calling a signal with signal() syntax
///
/// Currently only limited to copy types, though could probably specialize for string/arc/rc
impl<T: Copy + Clone> Deref for Signal<T> {
type Target = dyn Fn() -> T;
fn deref(&self) -> &Self::Target {
@@ -486,7 +489,7 @@ impl<T: 'static> PartialEq for ReadOnlySignal<T> {
}
}
impl<T: Copy> Deref for ReadOnlySignal<T> {
impl<T: Copy + Clone> Deref for ReadOnlySignal<T> {
type Target = dyn Fn() -> T;
fn deref(&self) -> &Self::Target {