diff options
author | Li Jin <dragon-fly@qq.com> | 2022-07-26 11:34:34 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2022-07-26 11:34:34 +0800 |
commit | f7150a004e26f446fbf7a47bae368f209248fa67 (patch) | |
tree | 28cbfc756cfef955a6a40f62d3395920938256db /spec/outputs/destructure.lua | |
parent | 13c7eb4252e8c4228fabf1ade13b7b9bcbd80656 (diff) | |
download | yuescript-f7150a004e26f446fbf7a47bae368f209248fa67.tar.gz yuescript-f7150a004e26f446fbf7a47bae368f209248fa67.tar.bz2 yuescript-f7150a004e26f446fbf7a47bae368f209248fa67.zip |
make destructuring work on function multiple returned values, fix `a, b[] = 1` crashing issue, no longer support implicit declaring variable to be nil.
Diffstat (limited to 'spec/outputs/destructure.lua')
-rw-r--r-- | spec/outputs/destructure.lua | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/outputs/destructure.lua b/spec/outputs/destructure.lua index 59ee358..dfac42c 100644 --- a/spec/outputs/destructure.lua +++ b/spec/outputs/destructure.lua | |||
@@ -407,3 +407,24 @@ do | |||
407 | end | 407 | end |
408 | end | 408 | end |
409 | end | 409 | end |
410 | do | ||
411 | local x1, x2, x3, d, e | ||
412 | local b | ||
413 | do | ||
414 | local _obj_0, _obj_1, _obj_2, _obj_3, _obj_4 = f() | ||
415 | do | ||
416 | local _obj_5 = a | ||
417 | _obj_5[#_obj_5 + 1] = _obj_0 | ||
418 | end | ||
419 | setmetatable(c, _obj_4) | ||
420 | x1, x2, x3, d, e = 1, 2, 3, _obj_1, _obj_3 | ||
421 | b = _obj_2[1] | ||
422 | end | ||
423 | local y1, y4 | ||
424 | local y2, y3 | ||
425 | do | ||
426 | local _obj_0, _obj_1 = f2() | ||
427 | y1, y4 = f1(), _obj_1 | ||
428 | y2, y3 = _obj_0.y2, _obj_0.y3 | ||
429 | end | ||
430 | end | ||