From 03a2862b983c7dd6c1b9fd016154191213750ed3 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 11 Aug 2017 01:27:24 +0000 Subject: separate hash literal and keyword arguments * compile.c (compile_array_keyword_arg): separate keyword splat inside hash literal from argument list. * parse.y (rparen): flag hash literal. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- compile.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compile.c') diff --git a/compile.c b/compile.c index 99e00b4e6a..170bb99776 100644 --- a/compile.c +++ b/compile.c @@ -3053,7 +3053,7 @@ compile_array_keyword_arg(rb_iseq_t *iseq, LINK_ANCHOR *const ret, assert(nd_type(node) == NODE_ARRAY); if (!key_node) { - if (flag) *flag |= VM_CALL_KW_SPLAT; + if (flag && !root_node->nd_alen) *flag |= VM_CALL_KW_SPLAT; return FALSE; } else if (nd_type(key_node) == NODE_LIT && RB_TYPE_P(key_node->nd_lit, T_SYMBOL)) { -- cgit v1.2.3