Skip to main content

object_rainbow_point/
point_deserialize.rs

1use std::result::Result;
2
3use object_rainbow::Traversible;
4use serde::{Deserialize, de::DeserializeOwned};
5
6use crate::{IntoPoint, Point};
7
8impl<'de, T: DeserializeOwned + Traversible + Clone> Deserialize<'de> for Point<T> {
9    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
10    where
11        D: serde::Deserializer<'de>,
12    {
13        Ok(T::deserialize(deserializer)?.point())
14    }
15}