From: matz@... (Yukihiro Matsumoto) Date: 2004-01-06T22:13:29+09:00 Subject: [ruby-dev:22502] Re: module_function for inherited method まつもと ゆきひろです In message "[ruby-dev:22498] module_function for inherited method" on 04/01/06, nobu.nakada@nifty.ne.jp writes: |なひさんによると | | $ ruby-1.6 -e 'module Foo; module_function :to_s; end' | | $ ruby-1.8 -e 'module Foo; module_function :to_s; end' | -e:1: [BUG] undefined method `to_s'; can't happen | ruby 1.8.1 (2004-01-06) [i686-linux] | | $ ruby-1.9 -e 'module Foo; module_function :to_s; end' | -e:1: [BUG] undefined method `to_s'; can't happen | ruby 1.9.0 (2004-01-06) [i686-linux] | |だそうです。 なるほど。個人的には以下のような修正の方が好みです。 --- eval.c 2 Jan 2004 16:21:15 -0000 1.624 +++ eval.c 6 Jan 2004 13:13:13 -0000 @@ -7057,2 +7057,3 @@ rb_mod_modfunc(argc, argv, module) m = RCLASS(m)->super; + if (!m) break; }