Project

General

Profile

Actions

Bug #10291

closed

Strange behaviour of splat in Ruby 2.0.0

Added by siddharth (siddharth sharma) over 9 years ago. Updated over 9 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
2.0.0
[ruby-core:65256]

Description

In Ruby 1.9.3, when a method defined with some required number of arguments, method always checks the number of required arguments when called with a splat.
But in ruby 2.0.0, when a method defined with some required number of arguments, method checks the number of arguments when called with a splat, but does not check the number of arguments after first successful call.

Method method_called_with splat will check number of arguments in the first call, but after first successful method call, method_called_with splat wont check number of arguments it is being called with.
This happens only when the arguments go through the same splat.

Case 1(it is not working fine)


def method_called_with splat(argument)
  p argument
end


def method_accepting_any_number_of_arguments(*args)
  method_called_with splat(*args)
end

The issue wont come in this case, as the successful call is from one splat and other calls are from the other splat.


Case 2(it is working fine)

def method_called_with splat(argument)
  p argument
end


def method_accepting_any_number_of_arguments(*args)
  (args.length == 1) ? method_called_with splat(*args) : method_called_with splat(*args)
end


Related issues 1 (0 open1 closed)

Is duplicate of Ruby master - Bug #9622: Extra method arguments are magically swallowed after first successful call, possible method cache bugClosed03/11/2014Actions

Updated by marcandre (Marc-Andre Lafortune) over 9 years ago

  • Status changed from Open to Closed

Better test with latest releases before making a bug report...

Duplicate of #9622.

Updated by marcandre (Marc-Andre Lafortune) over 9 years ago

  • Is duplicate of Bug #9622: Extra method arguments are magically swallowed after first successful call, possible method cache bug added
Actions

Also available in: Atom PDF

Like0
Like0Like0