serde: Relax bounds on Raw::deserialize_as

This commit is contained in:
Jonas Platte 2021-05-15 18:47:34 +02:00
parent 1562cd1d3a
commit f0e3a39706
No known key found for this signature in database
GPG Key ID: 7D261D771D915378

View File

@ -126,6 +126,14 @@ impl<T> Raw<T> {
let mut deserializer = serde_json::Deserializer::from_str(self.json().get()); let mut deserializer = serde_json::Deserializer::from_str(self.json().get());
deserializer.deserialize_map(SingleFieldVisitor::new(field_name)) deserializer.deserialize_map(SingleFieldVisitor::new(field_name))
} }
/// Try to deserialize the JSON as a custom type.
pub fn deserialize_as<U>(&self) -> serde_json::Result<U>
where
U: DeserializeOwned,
{
serde_json::from_str(self.json.get())
}
} }
impl<T> Raw<T> impl<T> Raw<T>
@ -136,14 +144,6 @@ where
pub fn deserialize(&self) -> serde_json::Result<T> { pub fn deserialize(&self) -> serde_json::Result<T> {
serde_json::from_str(self.json.get()) serde_json::from_str(self.json.get())
} }
/// Try to deserialize the JSON as a custom type.
pub fn deserialize_as<U>(&self) -> serde_json::Result<U>
where
U: DeserializeOwned,
{
serde_json::from_str(self.json.get())
}
} }
impl<T: Serialize> From<&T> for Raw<T> { impl<T: Serialize> From<&T> for Raw<T> {