Actions
Bug #6660
closedprepend したクラスの instance_methods(false)が空になる
Description
Module#prepend を実行したクラスの instance_methods(false)を実行すると結果が常に空になってしまうようです。
パッチを添付します。
Files
Actions
Like0
Like0Like0Like0
Added by nagachika (Tomoyuki Chikanaga) almost 13 years ago. Updated almost 13 years ago.
Description
Module#prepend を実行したクラスの instance_methods(false)を実行すると結果が常に空になってしまうようです。
パッチを添付します。
Files
prepend_instance_methods_false.patch (1.42 KB) prepend_instance_methods_false.patch | nagachika (Tomoyuki Chikanaga), 06/28/2012 03:42 AM |
よいと思います。
お願いします。
なかださん、ありがとうございます。コミットします。
しかし今度は prepend したクラスのオブジェクトに特異クラスを作ってから Object#methods(false) した時にどうなるかというのが気になってきました。
prepend した時に作られる IClass に何かフラグが付けられるといいような気がしてきました。
This issue was solved with changeset r36243.
Tomoyuki, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
class.c (class_instance_method_list): consider prepended Class/Module
when recur != 0. [ruby-dev:45863] [Bug #6660]
test/ruby/test_module.rb (test_prepend_instance_methods_false): add
a test for it.