From: Yukihiro Matsumoto Date: 2010-01-29T01:49:15+09:00 Subject: [ruby-dev:40223] Re: [Bug:trunk] rubyspec: SimpleDelegator when frozen creates a frozen clone ERROR まつもと ゆきひろです In message "Re: [ruby-dev:40222] Re: [Bug:trunk] rubyspec: SimpleDelegator when frozen creates a frozen clone ERROR" on Fri, 29 Jan 2010 01:36:27 +0900, Yukihiro Matsumoto writes: ||lib/delegator.rb の clone の定義を見ると || || def clone || new = super || new.__setobj__(__getobj__.clone) || new || end || ||となっていて、__setobj__ するときにはもう SimpleDelegetor は freeze ||状態なのでそりゃそうだという感じなんですが、どう直したものでしょう。 | |困りましたねえ。ちょっと考えてみます。 そういえば、こんな時のためにinitialize_copyというメソッドを用 意しておいたのでした。でも、今度はcloneとdupの区別がつかない (API設計ミス)。もし、これによって非互換性が問題になるようなら 教えてください。