@@ -11,6 +11,8 @@ use crate::utility::{GenericTypeInfoCell, NonGenericTypeInfoCell};
11
11
use bevy_reflect_derive:: { impl_from_reflect_value, impl_reflect_value} ;
12
12
use bevy_utils:: { Duration , Instant } ;
13
13
use bevy_utils:: { HashMap , HashSet } ;
14
+ #[ cfg( any( unix, windows) ) ]
15
+ use std:: ffi:: OsString ;
14
16
use std:: {
15
17
any:: Any ,
16
18
borrow:: Cow ,
@@ -20,6 +22,7 @@ use std::{
20
22
NonZeroU16 , NonZeroU32 , NonZeroU64 , NonZeroU8 , NonZeroUsize ,
21
23
} ,
22
24
ops:: { Range , RangeFrom , RangeFull , RangeInclusive , RangeTo , RangeToInclusive } ,
25
+ path:: PathBuf ,
23
26
} ;
24
27
25
28
impl_reflect_value ! ( bool ( Debug , Hash , PartialEq , Serialize , Deserialize ) ) ;
@@ -39,6 +42,7 @@ impl_reflect_value!(isize(Debug, Hash, PartialEq, Serialize, Deserialize));
39
42
impl_reflect_value ! ( f32 ( Debug , PartialEq , Serialize , Deserialize ) ) ;
40
43
impl_reflect_value ! ( f64 ( Debug , PartialEq , Serialize , Deserialize ) ) ;
41
44
impl_reflect_value ! ( String ( Debug , Hash , PartialEq , Serialize , Deserialize ) ) ;
45
+ impl_reflect_value ! ( PathBuf ( Debug , Hash , PartialEq , Serialize , Deserialize ) ) ;
42
46
impl_reflect_value ! ( Result <T : Clone + Reflect + ' static , E : Clone + Reflect + ' static >( ) ) ;
43
47
impl_reflect_value ! ( HashSet <T : Hash + Eq + Clone + Send + Sync + ' static >( ) ) ;
44
48
impl_reflect_value ! ( Range <T : Clone + Send + Sync + ' static >( ) ) ;
@@ -62,6 +66,11 @@ impl_reflect_value!(NonZeroU16(Debug, Hash, PartialEq, Serialize, Deserialize));
62
66
impl_reflect_value ! ( NonZeroU8 ( Debug , Hash , PartialEq , Serialize , Deserialize ) ) ;
63
67
impl_reflect_value ! ( NonZeroI8 ( Debug , Hash , PartialEq , Serialize , Deserialize ) ) ;
64
68
69
+ // Only for platforms that can serialize it as in serde:
70
+ // https://github.com/serde-rs/serde/blob/3ffb86fc70efd3d329519e2dddfa306cc04f167c/serde/src/de/impls.rs#L1732
71
+ #[ cfg( any( unix, windows) ) ]
72
+ impl_reflect_value ! ( OsString ( Debug , Hash , PartialEq , Serialize , Deserialize ) ) ;
73
+
65
74
impl_from_reflect_value ! ( bool ) ;
66
75
impl_from_reflect_value ! ( char ) ;
67
76
impl_from_reflect_value ! ( u8 ) ;
0 commit comments