Latest version teal crashes with a stackdump when checking the below snipped which comes from strict.lua:
local mt = getmetatable(_G)
if mt == nil then
mt = {}
setmetatable(_G, mt)
end
mt.__declared = {}
mt.__newindex = function (t, n, v)
if not mt.__declared[n] then
local w = debug.getinfo(2, "S").what
if w ~= "main" and w ~= "C" then
error("assign to undeclared variable '"..n.."'", 2)
end
mt.__declared[n] = true
end
rawset(t, n, v)
end
mt.__index = function (t, n)
if not mt.__declared[n] and debug.getinfo(2, "S").what ~= "C" then
error("Accessing undeclared variable '"..n.."'", 2)
end
return rawget(t, n)
end
Trace:
lua: /home/ico/external/tl//tl.lua:6145: stack overflow
stack traceback:
/home/ico/external/tl//tl.lua:6145: in local 'cmp'
/home/ico/external/tl//tl.lua:5879: in upvalue 'arg_check'
/home/ico/external/tl//tl.lua:6205: in local 'cmp'
/home/ico/external/tl//tl.lua:5848: in upvalue 'match_record_fields'
/home/ico/external/tl//tl.lua:5862: in upvalue 'match_fields_to_record'
/home/ico/external/tl//tl.lua:6191: in function </home/ico/external/tl//tl.lua:6144>
(...tail calls...)
/home/ico/external/tl//tl.lua:5879: in upvalue 'arg_check'
/home/ico/external/tl//tl.lua:6205: in local 'cmp'
/home/ico/external/tl//tl.lua:5848: in upvalue 'match_record_fields'
/home/ico/external/tl//tl.lua:5862: in upvalue 'match_fields_to_record'
... (skipping 142810 levels)
/home/ico/external/tl//tl.lua:3210: in local 'fn'
/home/ico/external/tl//tl.lua:3307: in upvalue 'recurse'
/home/ico/external/tl//tl.lua:3201: in local 'fn'
/home/ico/external/tl//tl.lua:3307: in upvalue 'recurse'
/home/ico/external/tl//tl.lua:3130: in local 'fn'
/home/ico/external/tl//tl.lua:3307: in function </home/ico/external/tl//tl.lua:3287>
(...tail calls...)
/home/ico/external/tl//tl.lua:9139: in function 'tl.type_check'
/home/ico/external/tl//tl.lua:9520: in function 'tl.process_string'
(...tail calls...)
/home/ico/external/tl/tl:1105: in field '?'
/home/ico/external/tl/tl:1333: in main chunk
[C]: in ?
Latest version teal crashes with a stackdump when checking the below snipped which comes from
strict.lua
:Trace: