#include #include #include struct a_type {}; struct another_type {}; TEST(Ident, Uniqueness) { using id = entt::ident; constexpr a_type an_instance; constexpr another_type another_instance; ASSERT_NE(id::value, id::value); ASSERT_EQ(id::value, id::value); ASSERT_NE(id::value, id::value); ASSERT_EQ(id::value, id::value); ASSERT_EQ(id::value, id::value); // test uses in constant expressions switch(id::value) { case id::value: FAIL(); case id::value: SUCCEED(); } } TEST(Identifier, SingleType) { using id = entt::ident; [[maybe_unused]] std::integral_constant> ic; }