diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-02 07:52:49 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-02 07:52:49 +0000 |
commit | d49fca8894d05d124277f6be448994f3f7ccdcc6 (patch) | |
tree | baaea6e895f0a410ca55237cf03d0d4099add6c4 /compile.c | |
parent | 10a1c8ca79a87b07e72d56cd6ebab9908448cf67 (diff) |
compile.c: kw splat after splat
* compile.c (setup_args): set keyword splat flag after splat
arguments. [ruby-core:83638] [Bug #10856]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'compile.c')
-rw-r--r-- | compile.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -4197,6 +4197,8 @@ setup_args(rb_iseq_t *iseq, LINK_ANCHOR *const args, const NODE *argn, INSERT_LIST(args_splat, tmp); nsplat++; *flag |= VM_CALL_ARGS_SPLAT; + if (nd_type(argn->nd_body) == NODE_HASH) + *flag |= VM_CALL_KW_SPLAT; if (next_is_array) { int len = compile_array(iseq, args, argn->nd_head, COMPILE_ARRAY_TYPE_ARGS, NULL, flag, FALSE); |