diff --git a/src/test/res/metatables.lua b/src/test/res/metatables.lua index 8ff6fdf7..e18be17d 100644 --- a/src/test/res/metatables.lua +++ b/src/test/res/metatables.lua @@ -29,3 +29,20 @@ op('set-nil',nil) op('set{__}',{__metatable='abc'}) op('set{} ',{}) op('set-nil',nil) + + +local i = 1234 +local t = setmetatable( {}, { + __mode="v", + __index=function(t,k) + local v = i + i = i + 1 + rawset(t,k,v) + return v + end, +} ) + +local l = { 'a', 'b', 'a', 'b', 'c', 'a', 'b', 'c', 'd' } +for i,key in ipairs(l) do + print( 't.'..key, t[key] ) +end \ No newline at end of file