Project

General

Profile

Actions

Bug #5158

closed

to_ary not respecting respond_to?

Added by zenspider (Ryan Davis) over 12 years ago. Updated over 12 years ago.

Status:
Closed
Target version:
-
ruby -v:
-
Backport:
[ruby-core:38799]

Description

class BadProxyObject
def initialize
@p = Object.new
def @p.to_ary
raise "I should never be called"
end
end

def respond_to?(*a)
p :bad_respond_to? => a
false
end

def method_missing(msg, *)
p :bad_method_missing => msg
@p.send msg
end
end

[[BadProxyObject.new]].flatten

{:bad_method_missing=>:to_ary}

Exception `RuntimeError' at wtf.rb:6 - I should never be called

wtf.rb:6:in `to_ary': I should never be called (RuntimeError)

from wtf.rb:17:in `method_missing'

from wtf.rb:21:in `flatten'

from wtf.rb:21:in `'

Extra Info: http://tenderlovemaking.com/2011/06/28/til-its-ok-to-return-nil-from-to_ary/

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0