summaryrefslogtreecommitdiffstats
path: root/include/godot_cpp
diff options
context:
space:
mode:
authorpupil1337 <2500698263@qq.com>2024-04-07 21:07:01 +0800
committerpupil1337 <2500698263@qq.com>2024-04-11 10:48:13 +0800
commit1fa7a9cb1985bdf6c098492563e0e76cf72fd91a (patch)
treeddafcd9fc00d4198efab20114b2d780bce95c5ea /include/godot_cpp
parentb02124595f46ec9bf35d6b0636c9bf16750fbfb6 (diff)
downloadredot-cpp-1fa7a9cb1985bdf6c098492563e0e76cf72fd91a.tar.gz
Add static_assert() for register_class
Diffstat (limited to 'include/godot_cpp')
-rw-r--r--include/godot_cpp/core/class_db.hpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/godot_cpp/core/class_db.hpp b/include/godot_cpp/core/class_db.hpp
index e240193..6dedc12 100644
--- a/include/godot_cpp/core/class_db.hpp
+++ b/include/godot_cpp/core/class_db.hpp
@@ -203,6 +203,7 @@ public:
template <typename T, bool is_abstract>
void ClassDB::_register_class(bool p_virtual, bool p_exposed, bool p_runtime) {
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