From: Shugo Maeda Date: 2010-03-11T01:11:04+09:00 Subject: [ruby-dev:40594] Re: cloneしたクラスのsuperの挙動がおかしい 前田です。 2010年3月1日18:57 Shugo Maeda : > どうも、vm_search_superclass()でcloneされたメソッドについて > > * ip != ip->local_iseqが真なので、Module#define_methodで定義されたメソッドのように扱われる > (local_iseqがclone元のメソッドのiseqを指しているため) > * ip->klassがclone元のクラスを指しているため、後からclone先のクラスにインクルードしたモジュール > が探索されない > > という2つの問題があるために、上記のような例外が発生してしまうようです。 > > 添付のパッチで上記の例は動くようになりましたが、この修正で問題ないでしょうか。 IRCでささださんをつついたところ、「よくわからないんでおまかせします」ということ だったのでcommitしました。 test_class.rbにテストも追加しておきました。 一応、make btestやmake test-all TESTS=rubyは通りましたが、何か問題があっ たら教えてください。 -- Shugo Maeda