Actions
Bug #6659
closedprepend した Class/Module の ancestors に Class が混入する
Description
Module#prepend を利用した Class/Module に対して ancestors を呼ぶと Class が入りこみます。
ancestors に入るだけで Object#is_a? の判定やメソッド呼び出しができるようになったりはしていないようです。
module M1
end
module M2
prepend M1
end
M2.ancestors # => [M2, M1, Class]
class C
prepend M1
end
C.ancestors # => [C, M1, Class, Object, Kernel, BasicObject]
C.new.is_a(Class) # => false
C.new.superclass # => NoMethodError: undefined method `allocate' for #<C:0x0000010103ba90>
Updated by nagachika (Tomoyuki Chikanaga) over 12 years ago
- Status changed from Open to Rejected
#6658 と重複してしまったのでこちらは閉じます。
Actions
Like0
Like0