in gazebo/src/any.rs [284:320]
fn test_provides_static_type_id() {
fn test<'a, A: AnyLifetime<'a>>(expected: TypeId) {
assert_eq!(expected, A::static_type_id());
}
#[derive(AnyLifetime)]
struct Aaa;
test::<Aaa>(TypeId::of::<Aaa>());
#[derive(AnyLifetime)]
struct Bbb<'a>(&'a str);
test::<Bbb>(TypeId::of::<Bbb<'static>>());
#[derive(AnyLifetime)]
struct Bbb2<'a, 'b>(&'a str, &'b str);
test::<Bbb2>(TypeId::of::<Bbb2<'static, 'static>>());
#[derive(AnyLifetime)]
struct Ccc<X>(X);
test::<Ccc<String>>(TypeId::of::<Ccc<String>>());
#[derive(AnyLifetime)]
struct LifetimeTypeConst<'a, T, const N: usize>([&'a T; N]);
test::<LifetimeTypeConst<i32, 3>>(TypeId::of::<LifetimeTypeConst<'static, i32, 3>>());
#[derive(AnyLifetime)]
struct TypeWithConstraint<T: Display>(T);
test::<TypeWithConstraint<String>>(TypeId::of::<TypeWithConstraint<String>>());
struct TypeWhichDoesNotImplementAnyLifetime;
#[derive(AnyLifetime)]
struct TypeWithStaticLifetime<T: 'static>(T);
test::<TypeWithStaticLifetime<TypeWhichDoesNotImplementAnyLifetime>>(TypeId::of::<
TypeWithStaticLifetime<TypeWhichDoesNotImplementAnyLifetime>,
>());
}