Bug #7665
closed
keyrest argument overwrites the last element of rest argument
Added by nobu (Nobuyoshi Nakada) almost 12 years ago.
Updated almost 12 years ago.
Description
=begin
Since r38657, this code
def foo(*args, **opt)
p args, opt
end
foo("foo", "bar", zzz: 42)
shows
["foo", {:zzz=>42}]
{:zzz=>42}
but the first line should be (({["foo", "bar"]})).
=end
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r38719.
Nobuyoshi, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
vm_insnhelper.c: keyrest should not overwrite rest arg
- vm_insnhelper.c (vm_callee_setup_arg_complex, vm_yield_setup_block_args):
set keyrest hash after making rest array, so that the last element
will not be overwritten. [ruby-core:51278] [Bug #7665]
Also available in: Atom
PDF
Like0
Like0