[ruby-trunk - Bug #6662][Open] prepend した Class/Module が継承ツリー上にある Class/Module で ancestors に Class が

Issue #6662 has been reported by nagachika (Tomoyuki C.).


Bug #6662: prepend した Class/Module が継承ツリー上にある Class/Module で ancestors に
Class が入り込む
https://bugs.ruby-lang.org/issues/6662

Author: nagachika (Tomoyuki C.)
Status: Open
Priority: Normal
Assignee:
Category: core
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-06-28 trunk 36243) [x86_64-darwin11.4.0]

prepend した Class/Module で Module#ancestors の順番や Class が入り込む問題は r36241
で対処されましたが
まだ ancestors を呼ぶ Class/Module そのものではなくてその superclass や include している
Module で
prepend を使っていると順番が include と同じになる & Class が入り込むようです。

module M; end
class C1
prepend M
end
class C2 < C1
end
C2.ancestors => [C2, C1, M, Class, Object, Kernel, BasicObject]