From: shugo@... Date: 2015-12-17T23:16:28+00:00 Subject: [ruby-core:72226] [Ruby trunk - Bug #11836] [Open] Optimized methods cannot overridden after Module#prepend Issue #11836 has been reported by Shugo Maeda. ---------------------------------------- Bug #11836: Optimized methods cannot overridden after Module#prepend https://bugs.ruby-lang.org/issues/11836 * Author: Shugo Maeda * Status: Open * Priority: Normal * Assignee: * ruby -v: * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- It seems that optimized methods cannot overridden after `Module#prepend`. ```ruby module M def /(other) quo(other) end end class Fixnum prepend M end module M def %(other) 0 end def foo puts "m#foo" end end p 1 / 2 #=> (1/2) overridden p 1 % 2 #=> 1 not overridden 1.foo #=> m#foo overridden ``` Is there any good way to disable optimization in this case? -- https://bugs.ruby-lang.org/