From: "prijutme4ty (Ilya Vorontsov)" Date: 2013-03-10T20:33:05+09:00 Subject: [ruby-core:53278] [ruby-trunk - Bug #8066][Open] Inconsistency in ancestors chain Issue #8066 has been reported by prijutme4ty (Ilya Vorontsov). ---------------------------------------- Bug #8066: Inconsistency in ancestors chain https://bugs.ruby-lang.org/issues/8066 Author: prijutme4ty (Ilya Vorontsov) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: 1.9.3p0, 2.0.0p0 Method including have some inconsistencies. Let's define module and include(or prepend) and then include it in classes in different order. module M; end Class.send :include, M Module.send :include, M Class.ancestors # => [Class, M, Module, M, Object, Kernel, BasicObject] module M; end Module.send :include, M Class.send :include, M Class.ancestors # => [Class, Module, M, Object, Kernel, BasicObject] We see that ancestor chains are different. Is it a spec(i didn't find it in tests) or a bug? -- http://bugs.ruby-lang.org/