From: nobu@... Date: 2014-02-21T06:17:41+00:00 Subject: [ruby-core:60926] [ruby-trunk - Bug #7993] owner of methods defined after using Module#prepend Issue #7993 has been updated by Nobuyoshi Nakada. Description updated ---------------------------------------- Bug #7993: owner of methods defined after using Module#prepend https://bugs.ruby-lang.org/issues/7993#change-45324 * Author: 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 ---------------------------------------- The owner of methods defined after using Module#prepend seems to be incorrect. ```ruby 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) ``` -- http://bugs.ruby-lang.org/