variable capture bug in match extension
[metalua.git] / src / samples / types_test.mlua
blob62f4a91b15e51a84846314b0e892ceb556ae2f8d
1 -{ extension "types" }
2 -{ extension "clist" }
4 -- Uncomment this to turn typechecking code generation off:
5 -- -{stat: types.enabled=false}
7 function sum (x :: table(number)) :: number
8    local acc :: number = 0
9    for i=1, #x do
10       acc = acc + x[i] -- .. 'x' -- converts to string
11    end
12    --acc='bug' -- put a string in a number variable
13    return acc
14 end
16 x       = { i for i=1,100 }
17 --x[23] = 'toto' -- string in a number list, sum() will complain
18 y       = sum (x)
19 printf ("sum 1 .. %i = %i", #x, y)