diff --git a/.gitignore b/.gitignore index 6ef4ae8d..80f44be7 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,9 @@ liblua.a sol/include/ .ninja* include/ +lib/liblua5.2.a +*.config +*.creator +*.files +*.includes +main.cpp diff --git a/sol/userdata.hpp b/sol/userdata.hpp index 117cfa4f..d6c8af02 100644 --- a/sol/userdata.hpp +++ b/sol/userdata.hpp @@ -110,8 +110,9 @@ private: template void build_function_tables() {} - template - void build_function_tables(std::string name, Ret T::* func, Args&&... args) { + template + void build_function_tables(std::string name, Ret TBase::* func, Args&&... args) { + static_assert(std::is_base_of::value, "Any registered function must be part of the class"); typedef typename std::decay::type function_type; functionnames.push_back(std::move(name)); functions.emplace_back(detail::make_unique>(std::move(func)));