Project

General

Profile

Backport #6000

respond_to? check in check_funcall() does not work with single-argument respond_to?

Added by drbrain (Eric Hodel) over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
[ruby-core:42493]

Description

=begin

The following code works in Ruby 1.9.3:

class C
def respond_to? name
super name
end
end

[C.new].flatten

But fails with ArgumentError after r32855:

$ ruby20 -v test.rb
ruby 2.0.0dev (2012-02-11 trunk 34547) [x86_64-darwin11.2.0]
test.rb:2:in respond_to?': wrong number of arguments (2 for 1) (ArgumentError)
from test.rb:7:in
flatten'
from test.rb:7:in `'

I think this should still work to support legacy 1.9 applications in 2.0

=end


Files

vm_eval.c.respond_to_arity.patch (1.33 KB) vm_eval.c.respond_to_arity.patch drbrain (Eric Hodel), 02/11/2012 09:02 AM

Also available in: Atom PDF