Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/crates/bevy_reflect/src/impls/smol_str.rs
9418 views
1
use crate::{std_traits::ReflectDefault, ReflectDeserialize, ReflectSerialize};
2
use bevy_reflect_derive::impl_reflect_opaque;
3
4
impl_reflect_opaque!(::smol_str::SmolStr(
5
Clone,
6
Debug,
7
Hash,
8
PartialEq,
9
PartialOrd,
10
Default,
11
Serialize,
12
Deserialize,
13
));
14
15
#[cfg(test)]
16
mod 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
}
36
37