Jonathan Kelley 1 год назад
Родитель
Сommit
3ccf520205
1 измененных файлов с 21 добавлено и 21 удалено
  1. 21 21
      packages/signals/src/read_only_signal.rs

+ 21 - 21
packages/signals/src/read_only_signal.rs

@@ -1,5 +1,5 @@
 use crate::{read::Readable, Signal, SignalData};
-use std::{mem::MaybeUninit, ops::Deref};
+use std::ops::Deref;
 
 use dioxus_core::{prelude::IntoAttributeValue, ScopeId};
 use generational_box::{Storage, UnsyncStorage};
@@ -15,26 +15,6 @@ impl<T: 'static, S: Storage<SignalData<T>>> From<Signal<T, S>> for ReadOnlySigna
     }
 }
 
-#[cfg(feature = "serde")]
-impl<T: serde::Serialize + 'static, Store: Storage<SignalData<T>>> serde::Serialize
-    for ReadOnlySignal<T, Store>
-{
-    fn serialize<S: serde::Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
-        self.read().serialize(serializer)
-    }
-}
-
-#[cfg(feature = "serde")]
-impl<'de, T: serde::Deserialize<'de> + 'static, Store: Storage<SignalData<T>>>
-    serde::Deserialize<'de> for ReadOnlySignal<T, Store>
-{
-    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
-        Ok(Self::new_maybe_sync(Signal::new_maybe_sync(
-            T::deserialize(deserializer)?,
-        )))
-    }
-}
-
 impl<T: 'static> ReadOnlySignal<T> {
     /// Create a new read-only signal.
     #[track_caller]
@@ -91,6 +71,26 @@ impl<T, S: Storage<SignalData<T>>> Readable<T> for ReadOnlySignal<T, S> {
     }
 }
 
+#[cfg(feature = "serde")]
+impl<T: serde::Serialize + 'static, Store: Storage<SignalData<T>>> serde::Serialize
+    for ReadOnlySignal<T, Store>
+{
+    fn serialize<S: serde::Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> {
+        self.read().serialize(serializer)
+    }
+}
+
+#[cfg(feature = "serde")]
+impl<'de, T: serde::Deserialize<'de> + 'static, Store: Storage<SignalData<T>>>
+    serde::Deserialize<'de> for ReadOnlySignal<T, Store>
+{
+    fn deserialize<D: serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
+        Ok(Self::new_maybe_sync(Signal::new_maybe_sync(
+            T::deserialize(deserializer)?,
+        )))
+    }
+}
+
 impl<T> IntoAttributeValue for ReadOnlySignal<T>
 where
     T: Clone + IntoAttributeValue,