Преглед изворни кода

Add Deref and DerefMut impls to Serialized<T>.

Kestrel пре 2 месеци
родитељ
комит
6c079dcad6
1 измењених фајлова са 15 додато и 0 уклоњено
  1. 15 0
      microrm/src/schema.rs

+ 15 - 0
microrm/src/schema.rs

@@ -161,6 +161,21 @@ impl<T: serde::Serialize + serde::de::DeserializeOwned + Clone> AsMut<T> for Ser
     }
 }
 
+impl<T: serde::Serialize + serde::de::DeserializeOwned + Clone> std::ops::Deref for Serialized<T> {
+    type Target = T;
+    fn deref(&self) -> &Self::Target {
+        &self.wrapped
+    }
+}
+
+impl<T: serde::Serialize + serde::de::DeserializeOwned + Clone> std::ops::DerefMut
+    for Serialized<T>
+{
+    fn deref_mut(&mut self) -> &mut Self::Target {
+        &mut self.wrapped
+    }
+}
+
 impl<T: 'static + serde::Serialize + serde::de::DeserializeOwned + std::fmt::Debug + Clone> Datum
     for Serialized<T>
 {