Actions
Bug #4378
closed1.9.2でClassオブジェクトのcloneの特異メソッドが消える
Description
=begin
以下のスクリプトで再現します。
1.9.2およびtruncで再現しますが、1.9.1や1.8.7では再現しません。
foo = Class.new
def foo.foo() end
bar = foo.clone
bar.instance_eval {}
bar.foo #=> NoMethodError
上記 instance_eval の呼び出しで bar.foo が見えなくなるようです。
instance_evalの代わりに
def bar.bar() end
と新たに特異メソッド定義をするか、また単に
class << bar; end
と空の特異クラス構文を書くだけでも同様な現象が見られます。
=end
Updated by yugui (Yuki Sonoda) almost 14 years ago
- Status changed from Open to Assigned
- Assignee set to yugui (Yuki Sonoda)
=begin
=end
Updated by nahi (Hiroshi Nakamura) over 13 years ago
- Target version set to 1.9.3
Updated by wanabe (_ wanabe) over 12 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
r33292 から発生しなくなっているようですので閉じさせて頂きます。
Actions
Like0
Like0Like0Like0