From: Ryan Davis Date: 2011-08-05T07:37:01+09:00 Subject: [ruby-core:38799] to_ary not respecting respond_to? 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/