bevy_reflect/impls/
smol_str.rs

1use crate::{
2    self as bevy_reflect, std_traits::ReflectDefault, ReflectDeserialize, ReflectSerialize,
3};
4use bevy_reflect_derive::impl_reflect_opaque;
5
6impl_reflect_opaque!(::smol_str::SmolStr(
7    Debug,
8    Hash,
9    PartialEq,
10    Default,
11    Serialize,
12    Deserialize,
13));
14
15#[cfg(test)]
16mod tests {
17    use crate::{FromReflect, PartialReflect};
18    use smol_str::SmolStr;
19
20    #[test]
21    fn should_partial_eq_smolstr() {
22        let a: &dyn PartialReflect = &SmolStr::new("A");
23        let a2: &dyn PartialReflect = &SmolStr::new("A");
24        let b: &dyn PartialReflect = &SmolStr::new("B");
25        assert_eq!(Some(true), a.reflect_partial_eq(a2));
26        assert_eq!(Some(false), a.reflect_partial_eq(b));
27    }
28
29    #[test]
30    fn smolstr_should_from_reflect() {
31        let smolstr = SmolStr::new("hello_world.rs");
32        let output = <SmolStr as FromReflect>::from_reflect(&smolstr);
33        assert_eq!(Some(smolstr), output);
34    }
35}