@@ -147,7 +147,8 @@ namespace sol {
147147 typedef meta::tuple_types<typename traits::return_type> return_types;
148148 typedef typename traits::free_args_list args_list;
149149 // compile-time eliminate any functions that we know ahead of time are of improper arity
150- if constexpr (!traits::runtime_variadics_t ::value && meta::find_in_pack_v<meta::index_value<traits::free_arity>, meta::index_value<M>...>::value) {
150+ if constexpr (!traits::runtime_variadics_t ::value
151+ && meta::find_in_pack_v<meta::index_value<traits::free_arity>, meta::index_value<M>...>::value) {
151152 return overload_match_arity (types<Fxs...>(),
152153 std::index_sequence<In...>(),
153154 std::index_sequence<M...>(),
@@ -161,25 +162,25 @@ namespace sol {
161162 if constexpr (!traits::runtime_variadics_t ::value) {
162163 if (traits::free_arity != fxarity) {
163164 return overload_match_arity (types<Fxs...>(),
164- std::index_sequence<In...>(),
165- std::index_sequence<traits::free_arity, M...>(),
166- std::forward<Match>(matchfx),
167- L,
168- fxarity,
169- start,
170- std::forward<Args>(args)...);
165+ std::index_sequence<In...>(),
166+ std::index_sequence<traits::free_arity, M...>(),
167+ std::forward<Match>(matchfx),
168+ L,
169+ fxarity,
170+ start,
171+ std::forward<Args>(args)...);
171172 }
172173 }
173174 stack::record tracking{};
174175 if (!stack::stack_detail::check_types (args_list (), L, start, no_panic, tracking)) {
175176 return overload_match_arity (types<Fxs...>(),
176- std::index_sequence<In...>(),
177- std::index_sequence<M...>(),
178- std::forward<Match>(matchfx),
179- L,
180- fxarity,
181- start,
182- std::forward<Args>(args)...);
177+ std::index_sequence<In...>(),
178+ std::index_sequence<M...>(),
179+ std::forward<Match>(matchfx),
180+ L,
181+ fxarity,
182+ start,
183+ std::forward<Args>(args)...);
183184 }
184185 return matchfx (types<Fx>(), meta::index_value<I>(), return_types (), args_list (), L, fxarity, start, std::forward<Args>(args)...);
185186 }
@@ -237,7 +238,8 @@ namespace sol {
237238 typedef meta::tuple_types<typename traits::return_type> return_types;
238239 typedef typename traits::free_args_list args_list;
239240 // compile-time eliminate any functions that we know ahead of time are of improper arity
240- if constexpr (!traits::runtime_variadics_t ::value && meta::find_in_pack_v<meta::index_value<traits::free_arity>, meta::index_value<M>...>::value) {
241+ if constexpr (!traits::runtime_variadics_t ::value
242+ && meta::find_in_pack_v<meta::index_value<traits::free_arity>, meta::index_value<M>...>::value) {
241243 return overload_match_arity (types<Fx1, Fxs...>(),
242244 std::index_sequence<I1, In...>(),
243245 std::index_sequence<M...>(),
@@ -251,25 +253,25 @@ namespace sol {
251253 if constexpr (!traits::runtime_variadics_t ::value) {
252254 if (traits::free_arity != fxarity) {
253255 return overload_match_arity (types<Fx1, Fxs...>(),
254- std::index_sequence<I1, In...>(),
255- std::index_sequence<traits::free_arity, M...>(),
256- std::forward<Match>(matchfx),
257- L,
258- fxarity,
259- start,
260- std::forward<Args>(args)...);
256+ std::index_sequence<I1, In...>(),
257+ std::index_sequence<traits::free_arity, M...>(),
258+ std::forward<Match>(matchfx),
259+ L,
260+ fxarity,
261+ start,
262+ std::forward<Args>(args)...);
261263 }
262264 }
263265 stack::record tracking{};
264266 if (!stack::stack_detail::check_types (args_list (), L, start, no_panic, tracking)) {
265- return overload_match_arity (types<Fx1, Fxs...>(),
266- std::index_sequence<I1, In...>(),
267- std::index_sequence<M...>(),
268- std::forward<Match>(matchfx),
269- L,
270- fxarity,
271- start,
272- std::forward<Args>(args)...);
267+ return overload_match_arity (types<Fx1, Fxs...>(),
268+ std::index_sequence<I1, In...>(),
269+ std::index_sequence<M...>(),
270+ std::forward<Match>(matchfx),
271+ L,
272+ fxarity,
273+ start,
274+ std::forward<Args>(args)...);
273275 }
274276 return matchfx (types<Fx>(), meta::index_value<I>(), return_types (), args_list (), L, fxarity, start, std::forward<Args>(args)...);
275277 }
@@ -330,7 +332,7 @@ namespace sol {
330332
331333 template <typename Fx, typename ... Args>
332334 static int call (lua_State* L, Fx&& f, Args&&... args) {
333- if constexpr (is_lua_reference_v<meta::unqualified_t <Fx>>) {
335+ if constexpr (is_lua_reference_v<meta::unqualified_t <Fx>>) {
334336 if constexpr (is_index) {
335337 return stack::push (L, std::forward<Fx>(f), std::forward<Args>(args)...);
336338 }
@@ -373,6 +375,7 @@ namespace sol {
373375 }
374376 else {
375377 if constexpr (std::is_const_v<meta::unwrapped_t <T>>) {
378+ (void )f;
376379 return luaL_error (L, " sol: cannot write to a readonly (const) variable" );
377380 }
378381 else {
@@ -502,8 +505,13 @@ namespace sol {
502505 else {
503506 using returns_list = typename wrap::returns_list;
504507 using caller = typename wrap::caller;
505- return stack::call_into_lua<checked, clean_stack>(
506- returns_list (), types<>(), L, boost + (is_variable ? 3 : 2 ), caller (), std::forward<Fx>(fx), std::forward<Args>(args)...);
508+ return stack::call_into_lua<checked, clean_stack>(returns_list (),
509+ types<>(),
510+ L,
511+ boost + (is_variable ? 3 : 2 ),
512+ caller (),
513+ std::forward<Fx>(fx),
514+ std::forward<Args>(args)...);
507515 }
508516 }
509517 else {
@@ -528,16 +536,16 @@ namespace sol {
528536 using caller = typename wrap::caller;
529537 if constexpr (sizeof ...(Args) > 0 ) {
530538 return stack::call_into_lua<checked, clean_stack>(types<void >(),
531- args_list (),
532- L,
533- boost + (is_variable ? 3 : 2 ),
534- caller (),
535- std::forward<Fx>(fx),
536- std::forward<Args>(args)...);
539+ args_list (),
540+ L,
541+ boost + (is_variable ? 3 : 2 ),
542+ caller (),
543+ std::forward<Fx>(fx),
544+ std::forward<Args>(args)...);
537545 }
538546 else {
539547 using Ta = meta::conditional_t <std::is_void_v<T>, object_type, T>;
540- #if defined(SOL_SAFE_USERTYPE) && SOL_SAFE_USERTYPE
548+ #if defined(SOL_SAFE_USERTYPE) && SOL_SAFE_USERTYPE
541549 auto maybeo = stack::check_get<Ta*>(L, 1 );
542550 if (!maybeo || maybeo.value () == nullptr ) {
543551 if (is_variable) {
@@ -547,12 +555,12 @@ namespace sol {
547555 }
548556 object_type* po = static_cast <object_type*>(maybeo.value ());
549557 object_type& o = *po;
550- #else
558+ #else
551559 object_type& o = static_cast <object_type&>(*stack::get<non_null<Ta*>>(L, 1 ));
552- #endif // Safety
560+ #endif // Safety
553561
554562 return stack::call_into_lua<checked, clean_stack>(
555- types<void >(), args_list (), L, boost + (is_variable ? 3 : 2 ), caller (), std::forward<Fx>(fx), o);
563+ types<void >(), args_list (), L, boost + (is_variable ? 3 : 2 ), caller (), std::forward<Fx>(fx), o);
556564 }
557565 }
558566 }
@@ -727,8 +735,7 @@ namespace sol {
727735
728736 template <typename F, typename ... Args>
729737 static int call (lua_State* L, F&& f, Args&&... args) {
730- constexpr bool is_specialized = meta::any<
731- std::is_same<U, detail::no_prop>,
738+ constexpr bool is_specialized = meta::any<std::is_same<U, detail::no_prop>,
732739 meta::is_specialization_of<U, var_wrapper>,
733740 meta::is_specialization_of<U, constructor_wrapper>,
734741 meta::is_specialization_of<U, constructor_list>,
@@ -747,7 +754,7 @@ namespace sol {
747754 }
748755 else {
749756 constexpr bool non_class_object_type = meta::any<std::is_void<object_type>,
750- meta::boolean<lua_type_of<meta::unwrap_unqualified_t <object_type>>::value != type::userdata>>::value;
757+ meta::boolean<lua_type_of<meta::unwrap_unqualified_t <object_type>>::value != type::userdata>>::value;
751758 if constexpr (non_class_object_type) {
752759 // The type being void means we don't have any arguments, so it might be a free functions?
753760 using args_list = typename traits_type::free_args_list;
@@ -861,7 +868,8 @@ namespace sol {
861868 }
862869 }
863870
864- template <typename T, bool is_index, bool is_variable, typename F, int start = 1 , bool checked = detail::default_safe_function_calls, bool clean_stack = true >
871+ template <typename T, bool is_index, bool is_variable, typename F, int start = 1 , bool checked = detail::default_safe_function_calls,
872+ bool clean_stack = true >
865873 inline int call_user (lua_State* L) {
866874 auto & fx = stack::unqualified_get<user<F>>(L, upvalue_index (start));
867875 return call_wrapped<T, is_index, is_variable, 0 , checked, clean_stack>(L, fx);
0 commit comments