Есть ли способ отличить замыкание Lua от замыкания C?
Есть ли способ узнать через Lua C API, является ли значение функции замыканием Lua или C?
Первое, что пришло мне в голову, было lua_type
функция, но, видимо, он может только сказать, если что-то является функцией.
Причина, по которой я спрашиваю, в настоящее время я работаю над очень злым хакерским кодом и хотела бы иметь возможность, по крайней мере, выдать изящную ошибку, если значение является C-замыканием.
LClosure *cl = (void *) lua_topointer(L, 1);