なかだです。 At Tue, 17 May 2005 10:35:13 +0900, Kazuhiro NISHIYAMA wrote in [ruby-dev:26177]: > autobuildの1.8.3と1.9.0の両方で1F0Eになっているようです。 > > http://www.rubyist.net/~akr/autobuild/ruby-1.8/latest.html > http://www.rubyist.net/~akr/autobuild/ruby-1.8/log/20050517T030509.gz > 1) Failure: > test_exception_subclass(SOAP::Marshal::TestMarshal) > [/home/akr/tmp/autobuild/ruby-1.8/20050517T030509/ruby/test/ruby/marshaltestlib.rb:36:in `marshal_equal' > /home/akr/tmp/autobuild/ruby-1.8/20050517T030509/ruby/test/ruby/marshaltestlib.rb:105:in `test_exception_subclass']: > /home/akr/tmp/autobuild/ruby-1.8/20050517T030509/ruby/test/ruby/marshaltestlib.rb:105:in `test_exception_subclass'. > <["bar", 20]> expected but was > <["MarshalTestLib::MyException", 20]>. これもException#exceptionが常にException#initializeを呼ぶことを 利用していたためですね。これはRegexpやRangeと同様にすれば通ると 思うのですが、それとも#exceptionは特別扱いにしたほうがいいでしょ うか。
Index: lib/soap/mapping/rubytypeFactory.rb =================================================================== RCS file: /cvs/ruby/src/ruby/lib/soap/mapping/rubytypeFactory.rb,v retrieving revision 1.7 diff -U2 -p -r1.7 rubytypeFactory.rb --- lib/soap/mapping/rubytypeFactory.rb 20 Dec 2004 13:50:08 -0000 1.7 +++ lib/soap/mapping/rubytypeFactory.rb 17 May 2005 07:07:06 -0000 @@ -425,5 +425,5 @@ private backtrace = Mapping._soap2obj(node['backtrace'], map) obj = Mapping.create_empty_object(klass) - obj = obj.exception(message) + obj = Exception.instance_method(:initialize).bind(obj).call(message) mark_unmarshalled_obj(node, obj) obj.set_backtrace(backtrace)
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦