From: ethirajsrinivasan@... Date: 2016-09-24T18:47:42+00:00 Subject: [ruby-core:77386] [Ruby trunk Bug#12787] Stackoverflow over when alias_method and prepend are used in combination Issue #12787 has been reported by ethiraj srinivasan. ---------------------------------------- Bug #12787: Stackoverflow over when alias_method and prepend are used in combination https://bugs.ruby-lang.org/issues/12787 * Author: ethiraj srinivasan * Status: Open * Priority: Normal * Assignee: * ruby -v: * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- With Ruby 2.0 Module#prepend was used to overcome the drawbacks of alias_method_chaining. Most of the gems/projects still use alias_method_chain since they support 1.9.3 and with upcoming gems/projects using prepend for the method that is already aliased throws stackoverflow error since the aliased method and prepend method call each other and results in deadlock. ~~~ ruby class Netter def requester puts " I am requester in Netter" end end class Netter def requester_with_alias puts "i am in alias" requester_without_alias end alias_method :requester_without_alias, :requester alias_method :requester, :requester_with_alias end module Prepender def requester puts "i am in prepend" super end end Netter.prepend(Prepender) Netter.new.requester ~~~ ---Files-------------------------------- stackoverflow_with_alias_and_prepend (404 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: