From 0316cf2e523d9f77e610477697d5a93842b4d4bd Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 8 Mar 2013 15:26:08 +0000 Subject: marshal.c: prepended objects * marshal.c (r_object0): load prepended objects. treat the class of extended object in the included modules as prepended singleton class. [ruby-core:53202] [Bug #8041] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/marshaltestlib.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/marshaltestlib.rb b/test/ruby/marshaltestlib.rb index f14209fc19..45c94e0f15 100644 --- a/test/ruby/marshaltestlib.rb +++ b/test/ruby/marshaltestlib.rb @@ -75,6 +75,16 @@ module MarshalTestLib marshal_equal_with_ancestry(o1) end + def test_object_prepend + bug8041 = '[ruby-core:53202] [Bug #8041]' + + o1 = MyObject.new(42) + o1.singleton_class.class_eval {prepend Mod1} + assert_nothing_raised(ArgumentError, bug8041) { + marshal_equal_with_ancestry(o1, bug8041) + } + end + class MyArray < Array def initialize(v, *args) super(args) -- cgit v1.2.3