Skip to main content

bevy_reflect/impls/bevy_platform/
sync.rs

1use bevy_reflect_derive::{impl_reflect_opaque, impl_type_path};
2
3impl_reflect_opaque!(::bevy_platform::sync::Arc<T: Send + Sync + ?Sized>(Clone));
4impl_type_path!(::bevy_platform::sync::Mutex<T>);
5
6#[cfg(test)]
7mod tests {
8    use crate::Typed;
9
10    #[test]
11    fn should_capture_generic_info() {
12        let generics = <::bevy_platform::sync::Arc<u32>>::type_info()
13            .as_opaque()
14            .unwrap()
15            .generics();
16
17        assert_eq!(generics.len(), 1);
18
19        let t = generics.get_named("T").unwrap();
20        assert_eq!(t.name(), "T");
21        assert!(t.is::<u32>());
22        assert!(!t.is_const());
23    }
24}