Currently, the following struct can not be defined because std::ops::Range does not implement SerializeAs/DeserializeAs.
use std::ops::Range;
use chrono::{DateTime, Utc};
#[derive(Debug, serde::Serialize, serde::Deserialize)]
pub struct Test {
#[serde(with = "serde_with::As::<Range<serde_with::TimestampNanoSeconds<i64, \
serde_with::formats::Strict>>>")]
dt_range: Range<DateTime<Utc>>,
}
Like Option<T>, it would be helpful if Range<Idx>, RangeFrom<Idx>, RangeInclusive<Idx>, RangeTo<Idx> and RangeToInclusive<Idx> implement SerializeAs/DeserializeAs.