mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 21:49:06 +02:00
Dup kwrest hash when merging other keyword arguments [Bug #17481]
This commit is contained in:
parent
cc055d4d3f
commit
c8010fcec0
2 changed files with 28 additions and 1 deletions
|
@ -8157,6 +8157,10 @@ iseq_compile_each0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *node, in
|
|||
if (local_body->param.flags.has_kwrest) {
|
||||
int idx = local_body->local_table_size - local_kwd->rest_start;
|
||||
ADD_GETLOCAL(args, line, idx, lvar_level);
|
||||
if (local_kwd->num > 0) {
|
||||
ADD_SEND(args, line, rb_intern("dup"), INT2FIX(0));
|
||||
flag |= VM_CALL_KW_SPLAT_MUT;
|
||||
}
|
||||
}
|
||||
else {
|
||||
ADD_INSN1(args, line, newhash, INT2FIX(0));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue