From: "nagachika (Tomoyuki Chikanaga)" Date: 2013-12-30T00:37:28+09:00 Subject: [ruby-core:59374] [ruby-trunk - Bug #7993] owner of methods defined after using Module#prepend Issue #7993 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 1.9.3: DONTNEED, 2.0.0: REQUIRED to 1.9.3: DONTNEED, 2.0.0: DONE r44175 and r44179 were backported to ruby_2_0_0 at r44345, and additionally r44198 was backported at 44366. See #9236 too. ---------------------------------------- Bug #7993: owner of methods defined after using Module#prepend https://bugs.ruby-lang.org/issues/7993#change-43939 Author: no6v (Nobuhiro IMAI) Status: Closed Priority: Normal Assignee: Category: core Target version: ruby -v: RUBY_DESCRIPTION # => "ruby 2.1.0dev (2013-03-01 trunk 39546) [x86_64-linux]" Backport: 1.9.3: DONTNEED, 2.0.0: DONE =begin The owner of methods defined after using Module#prepend seems to be incorrect. RUBY_DESCRIPTION # => "ruby 2.1.0dev (2013-03-01 trunk 39546) [x86_64-linux]" class C attr_reader :a prepend Module.new attr_reader :b end C.instance_method(:a).owner # => C C.instance_method(:b).owner # => # C.new.method(:a).owner # => C C.new.method(:b).owner # => # module M attr_reader :a prepend Module.new attr_reader :b end M.instance_method(:a).owner # => M M.instance_method(:b).owner # => # ~> -:19:in `
': undefined method `class' for # (NoMethodError) =end -- http://bugs.ruby-lang.org/