diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-08-19 18:39:25 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-08-19 18:39:25 -0300 |
commit | 3e88b72b8e71c0946d089a04876e7bdc61d187a9 (patch) | |
tree | 46e84129fc3d40c1fb66b6913ee3b70d0c1703b0 /testes | |
parent | 8b752ddf14c1987411906d07a8c68f72f168b9b7 (diff) | |
download | lua-3e88b72b8e71c0946d089a04876e7bdc61d187a9.tar.gz lua-3e88b72b8e71c0946d089a04876e7bdc61d187a9.tar.bz2 lua-3e88b72b8e71c0946d089a04876e7bdc61d187a9.zip |
A return can have at most 254 values
Diffstat (limited to 'testes')
-rw-r--r-- | testes/calls.lua | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/testes/calls.lua b/testes/calls.lua index 9a5eed0b..409a275d 100644 --- a/testes/calls.lua +++ b/testes/calls.lua | |||
@@ -518,5 +518,16 @@ do -- check reuse of strings in dumps | |||
518 | end | 518 | end |
519 | end | 519 | end |
520 | 520 | ||
521 | |||
522 | do -- test limit of multiple returns (254 values) | ||
523 | local code = "return 10" .. string.rep(",10", 253) | ||
524 | local res = {assert(load(code))()} | ||
525 | assert(#res == 254 and res[254] == 10) | ||
526 | |||
527 | code = code .. ",10" | ||
528 | local status, msg = load(code) | ||
529 | assert(not status and string.find(msg, "too many returns")) | ||
530 | end | ||
531 | |||
521 | print('OK') | 532 | print('OK') |
522 | return deep | 533 | return deep |