[ruby-core:96348] [Ruby master Bug#8841] Module#included_modules and prepended modules

[email protected]
Newsgroups gmane.comp.lang.ruby.core
Message-ID <redmine.journal-83259.20191220005629.60ddcfd1f9c667cb@ruby-lang.org>
Issue #8841 has been updated by mame (Yusuke Endoh).


Summary:

* `Module#include?` and `Module#included_modules` regard prepended modules as `included` (not well documented)
* `Module#included` is not called when the module is prepended

Is this right?

----------------------------------------
Bug #8841: Module#included_modules and prepended modules
https://bugs.ruby-lang.org/issues/8841#change-83259

* Author: marcandre (Marc-Andre Lafortune)
* Status: Open
* Priority: Normal
* Assignee: matz (Yukihiro Matsumoto)
* Target version: 
* ruby -v: r42735
* Backport: 
----------------------------------------
The documentation for Module#included_modules currently states "Returns the list of modules included in +mod+."

This was never perfectly accurate, as the list also contains modules included in +mod+'s ancestors.

It now also includes prepended modules.

This is consistent with `include?` that returns true for prepended modules, but not quite consistent with `included` that does not get called for prepended modules.

Matz, could you confirm that current behavior is what you want?

If so, we should fix the documentation of `include?` and `included_modules`.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.