Issue #7564 has been reported by tenderlovemaking (Aaron Patterson).

----------------------------------------
Bug #7564: r38175 introduces incompatibility
https://bugs.ruby-lang.org/issues/7564

Author: tenderlovemaking (Aaron Patterson)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2012-12-15 trunk 38381) [x86_64-darwin12.2.1]


r38175 introduces incompatibility with 1.9.3.  Before r38175, when looking for _dump, Marshal would not call method_missing.  Now marshal calls method_missing when trying to dump.

The following example exits with no error on 1.9.3, but on trunk it raises an exception (_dump() must return string (TypeError)):

class TR
  def initialize calls = []
    @calls = calls
  end

  def method_missing name, *args
    @calls << [name, args]
  end
end

Marshal.dump TR.new

I've attached a test case.


-- 
http://bugs.ruby-lang.org/