diff --git a/crates/bevy_reflect/src/impls/std.rs b/crates/bevy_reflect/src/impls/std.rs index 6767c9d1c49b11..8f7c59bbbf05db 100644 --- a/crates/bevy_reflect/src/impls/std.rs +++ b/crates/bevy_reflect/src/impls/std.rs @@ -1,3 +1,4 @@ +use crate::std_traits::ReflectDefault; use crate::{self as bevy_reflect, ReflectFromPtr}; use crate::{ map_apply, map_partial_eq, Array, ArrayInfo, ArrayIter, DynamicEnum, DynamicMap, Enum, @@ -25,24 +26,80 @@ use std::{ path::PathBuf, }; -impl_reflect_value!(bool(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(char(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(u8(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(u16(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(u32(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(u64(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(u128(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(usize(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(i8(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(i16(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(i32(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(i64(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(i128(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(isize(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(f32(Debug, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(f64(Debug, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(String(Debug, Hash, PartialEq, Serialize, Deserialize)); -impl_reflect_value!(PathBuf(Debug, Hash, PartialEq, Serialize, Deserialize)); +impl_reflect_value!(bool( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); +impl_reflect_value!(char( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); +impl_reflect_value!(u8(Debug, Hash, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(u16(Debug, Hash, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(u32(Debug, Hash, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(u64(Debug, Hash, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(u128( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); +impl_reflect_value!(usize( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); +impl_reflect_value!(i8(Debug, Hash, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(i16(Debug, Hash, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(i32(Debug, Hash, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(i64(Debug, Hash, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(i128( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); +impl_reflect_value!(isize( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); +impl_reflect_value!(f32(Debug, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(f64(Debug, PartialEq, Serialize, Deserialize, Default)); +impl_reflect_value!(String( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); +impl_reflect_value!(PathBuf( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); impl_reflect_value!(Result()); impl_reflect_value!(HashSet()); impl_reflect_value!(Range()); @@ -51,7 +108,14 @@ impl_reflect_value!(RangeFrom()); impl_reflect_value!(RangeTo()); impl_reflect_value!(RangeToInclusive()); impl_reflect_value!(RangeFull()); -impl_reflect_value!(Duration(Debug, Hash, PartialEq, Serialize, Deserialize)); +impl_reflect_value!(Duration( + Debug, + Hash, + PartialEq, + Serialize, + Deserialize, + Default +)); impl_reflect_value!(Instant(Debug, Hash, PartialEq)); impl_reflect_value!(NonZeroI128(Debug, Hash, PartialEq, Serialize, Deserialize)); impl_reflect_value!(NonZeroU128(Debug, Hash, PartialEq, Serialize, Deserialize));