Open
Description
@edubart I have the following code which obviously it's wrong; it throws Lua error which means it affects the backend compiler engine somehow.
local MyRec = @record{x: integer, y: integer}
function MyRec:__call(a, b): integer
return a + b
end
local mytable = @record{}
##[[
setmetatable(mytable, MyRec)
]]
print((@MyRec){5, 3}) -- Output: 8
What should be the output, even if we provide it a problematic code?
Should it have thrown these error messages anyway or is it a parsing issue somewhere in the backend?
/usr/local/bin/nelua-lua: /usr/local/lib/nelua/lualib/nelua/cgenerator.lua:1214: attempt to call a nil value (method 'must_declare_at_runtime')
stack traceback:
/usr/local/lib/nelua/lualib/nelua/cgenerator.lua:1214: in local 'visit'
/usr/local/lib/nelua/lualib/nelua/visitorcontext.lua:171: in function 'nelua.visitorcontext.traverse_node'
/usr/local/lib/nelua/lualib/nelua/emitter.lua:160: in function 'nelua.emitter.add_value'
/usr/local/lib/nelua/lualib/nelua/emitter.lua:114: in function 'nelua.emitter.add_list'
/usr/local/lib/nelua/lualib/nelua/cgenerator.lua:812: in local 'visit'
/usr/local/lib/nelua/lualib/nelua/visitorcontext.lua:171: in function 'nelua.visitorcontext.traverse_node'
/usr/local/lib/nelua/lualib/nelua/cgenerator.lua:1709: in function 'nelua.cgenerator.emit_nelua_main'
/usr/local/lib/nelua/lualib/nelua/cgenerator.lua:1739: in function 'nelua.cgenerator.emit_entrypoint'
/usr/local/lib/nelua/lualib/nelua/cgenerator.lua:1761: in function 'nelua.cgenerator.generate'
/usr/local/lib/nelua/lualib/nelua/runner.lua:206: in upvalue 'run'
/usr/local/lib/nelua/lualib/nelua/runner.lua:262: in function </usr/local/lib/nelua/lualib/nelua/runner.lua:261>
[C]: in function 'xpcall'
/usr/local/lib/nelua/lualib/nelua/utils/except.lua:135: in function 'nelua.utils.except.try'
/usr/local/lib/nelua/lualib/nelua/runner.lua:261: in function 'nelua.runner.run'
/usr/local/lib/nelua/lualib/nelua.lua:4: in main chunk
[C]: in function 'require'
[C]: in ?
stack traceback:
[C]: in function 'error'
/usr/local/lib/nelua/lualib/nelua/utils/except.lua:108: in function 'nelua.utils.except.reraise'
/usr/local/lib/nelua/lualib/nelua/utils/except.lua:146: in function 'nelua.utils.except.try'
/usr/local/lib/nelua/lualib/nelua/runner.lua:261: in function 'nelua.runner.run'
/usr/local/lib/nelua/lualib/nelua.lua:4: in main chunk
[C]: in function 'require'
[C]: in ?
shell returned 1
Metadata
Metadata
Assignees
Labels
No labels