diff options
| -rw-r--r-- | src/codegen.c | 3 | ||||
| -rw-r--r-- | test/t/syntax.rb | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/codegen.c b/src/codegen.c index c8f964f56..16e1235de 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -964,6 +964,9 @@ gen_assignment(codegen_scope *s, node *tree, int sp, int val) genop_peep(s, MKOP_AB(OP_MOVE, cursp(), sp), val); } break; + /* splat without assignment */ + case NODE_NIL: + break; default: #ifdef ENABLE_STDIO diff --git a/test/t/syntax.rb b/test/t/syntax.rb index d21748de1..5ce4e0a63 100644 --- a/test/t/syntax.rb +++ b/test/t/syntax.rb @@ -213,6 +213,12 @@ assert('Splat and multiple assignment in for') do assert_equal 7, f end +assert('Splat without assignment') do + * = [0] + a, * = [1, 2] + assert_equal 1, a +end + assert('Return values of case statements') do a = [] << case 1 when 3 then 2 |
