use core::any::TypeId; | |
#[test] | |
fn test_typeid_sized_types() { | |
struct X; struct Y(u32); | |
assert_eq!(TypeId::of::<X>(), TypeId::of::<X>()); | |
assert_eq!(TypeId::of::<Y>(), TypeId::of::<Y>()); | |
assert!(TypeId::of::<X>() != TypeId::of::<Y>()); | |
} | |
#[test] | |
fn test_typeid_unsized_types() { | |
trait Z {} | |
struct X(str); struct Y(dyn Z + 'static); | |
assert_eq!(TypeId::of::<X>(), TypeId::of::<X>()); | |
assert_eq!(TypeId::of::<Y>(), TypeId::of::<Y>()); | |
assert!(TypeId::of::<X>() != TypeId::of::<Y>()); | |
} |