update sol2 to 3.2.0

This commit is contained in:
BlackMATov
2020-04-20 15:53:18 +07:00
parent 8fea980b48
commit 5fbbc14daa
4 changed files with 664 additions and 661 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1308,7 +1308,13 @@ namespace sol {
template <typename T>
struct is_automagical
: std::integral_constant<bool,
std::is_array_v<meta::unqualified_t<T>> || !std::is_same_v<meta::unqualified_t<T>, state> || !std::is_same_v<meta::unqualified_t<T>, state_view>> {
#if defined(SOL_CXX17_FEATURES) && SOL_CXX17_FEATURES
#if defined(SOL_STD_VARIANT) && SOL_STD_VARIANT != 0
!meta::is_specialization_of_v<meta::unqualified_t<T>, std::variant> &&
#endif // std::variant borked in places
#endif // C++17 Features
(std::is_array_v<
meta::unqualified_t<T>> || (!std::is_same_v<meta::unqualified_t<T>, state> && !std::is_same_v<meta::unqualified_t<T>, state_view>))> {
};
template <typename T>

View File

@@ -172,11 +172,11 @@ namespace sol {
template <typename X>
void set_undefined_methods_on(stack_reference t) {
using T = std::remove_pointer_t<X>;
lua_State* L = t.lua_state();
t.push();
detail::lua_reg_table l{};
int index = 0;
detail::indexed_insert insert_fx(l, index);
@@ -185,7 +185,7 @@ namespace sol {
l[index] = luaL_Reg{ to_string(meta_function::garbage_collect).c_str(), detail::make_destructor<T>() };
}
luaL_setfuncs(L, l, 0);
// __type table
lua_createtable(L, 0, 2);
const std::string& name = detail::demangle<T>();