Skip to main content

bevy_reflect/impls/alloc/
string.rs

1use crate::{
2    std_traits::ReflectDefault,
3    type_registry::{ReflectDeserialize, ReflectSerialize},
4};
5use bevy_reflect_derive::impl_reflect_opaque;
6
7impl_reflect_opaque!(::alloc::string::String(
8    Clone,
9    Debug,
10    Hash,
11    PartialEq,
12    PartialOrd,
13    Serialize,
14    Deserialize,
15    Default
16));
17
18#[cfg(test)]
19mod tests {
20    use alloc::string::String;
21    use bevy_reflect::PartialReflect;
22
23    #[test]
24    fn should_partial_eq_string() {
25        let a: &dyn PartialReflect = &String::from("Hello");
26        let b: &dyn PartialReflect = &String::from("Hello");
27        let c: &dyn PartialReflect = &String::from("World");
28        assert!(a.reflect_partial_eq(b).unwrap_or_default());
29        assert!(!a.reflect_partial_eq(c).unwrap_or_default());
30    }
31}