The following function, when invoked, causes a C stack overflow in Lua 5.3.
local subsystem_mt = {__index = function(spec,auction) for key,bid in ipairs(spec) do print("Checking '"..auction.."' against '"..key.."'") end end}
I may be missing something, but "The following function" does not seem to be a function. It looks like a table... (Therefore, I do not know how to invoke it to cause something.)
All I did was take that code, then addx = setmetatable({},subsystem_mt)print(x.one)
Isn’t this expected behavior? Since ipairs() respects metamethods (since 5.3), looks like you have an infinite recursion (if you don’t have an item at key 1)?
—Tim
|