bevy_reflect/impls/core/
time.rs

1use crate::{
2    std_traits::ReflectDefault,
3    type_registry::{ReflectDeserialize, ReflectSerialize},
4};
5use bevy_reflect_derive::impl_reflect_opaque;
6
7impl_reflect_opaque!(::core::time::Duration(
8    Clone,
9    Debug,
10    Hash,
11    PartialEq,
12    Serialize,
13    Deserialize,
14    Default
15));
16
17#[cfg(test)]
18mod tests {
19    use bevy_reflect::{ReflectSerialize, TypeRegistry};
20    use core::time::Duration;
21
22    #[test]
23    fn can_serialize_duration() {
24        let mut type_registry = TypeRegistry::default();
25        type_registry.register::<Duration>();
26
27        let reflect_serialize = type_registry
28            .get_type_data::<ReflectSerialize>(core::any::TypeId::of::<Duration>())
29            .unwrap();
30        let _serializable = reflect_serialize.get_serializable(&Duration::ZERO);
31    }
32}