Add static_assert() for register_class

(cherry picked from commit 1fa7a9cb19)
pull/1466/head
pupil1337 2024-04-07 21:07:01 +08:00 committed by David Snopek
parent 11cd9a0727
commit 82ea3f74a4
1 changed files with 1 additions and 0 deletions

View File

@ -174,6 +174,7 @@ public:
template <typename T, bool is_abstract>
void ClassDB::_register_class(bool p_virtual) {
static_assert(TypesAreSame<typename T::self_type, T>::value, "Class not declared properly, please use GDCLASS.");
static_assert(!std::is_abstract_v<T> || is_abstract, "Class is abstract, please use GDREGISTER_ABSTRACT_CLASS.");
instance_binding_callbacks[T::get_class_static()] = &T::_gde_binding_callbacks;
// Register this class within our plugin