Implement ReflectValue serialization for Duration (#3318)
# Objective Resolves #3277 Currenty if we try to serialize a scene that contains a `Duration` (which is very common, since `Timer` contains one), we get an error saying: > Type 'core::time::Duration' does not support ReflectValue serialization ## Solution Let `Duration` implement `SerializeValue`. Co-authored-by: Jonathan Cornaz <jcornaz@users.noreply.github.com>
This commit is contained in:
parent
8a8293b266
commit
d07c8a8fa7
@ -34,7 +34,7 @@ impl_reflect_value!(String(Hash, PartialEq, Serialize, Deserialize));
|
||||
impl_reflect_value!(Option<T: Serialize + Clone + for<'de> Deserialize<'de> + Reflect + 'static>(Serialize, Deserialize));
|
||||
impl_reflect_value!(HashSet<T: Serialize + Hash + Eq + Clone + for<'de> Deserialize<'de> + Send + Sync + 'static>(Serialize, Deserialize));
|
||||
impl_reflect_value!(Range<T: Serialize + Clone + for<'de> Deserialize<'de> + Send + Sync + 'static>(Serialize, Deserialize));
|
||||
impl_reflect_value!(Duration);
|
||||
impl_reflect_value!(Duration(Hash, PartialEq, Serialize, Deserialize));
|
||||
|
||||
impl_from_reflect_value!(bool);
|
||||
impl_from_reflect_value!(u8);
|
||||
@ -364,3 +364,13 @@ impl FromReflect for Cow<'static, str> {
|
||||
Some(reflect.any().downcast_ref::<Cow<'static, str>>()?.clone())
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::Reflect;
|
||||
|
||||
#[test]
|
||||
fn can_serialize_duration() {
|
||||
assert!(std::time::Duration::ZERO.serializable().is_some())
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user