summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/codegen.c3
-rw-r--r--test/t/syntax.rb6
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