bevy_reflect/impls/bevy_platform/
sync.rs1use 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}