Ruby 2.3.1 has a bug in `Module#alias` and `Module#alias_method`
Consider the following code:
module M def original ; puts __callee__ ; end alias_method :aliased, :original end class A include M end A.new.original #⇒ original A.new.aliased #⇒ aliased
The above code runs perfectly fine in Ruby 2.1 and returns the actual method name, as it is supposed to be done by
Surprisingly enough, the code above does not work as expected in Ruby 2.3.1:
A.new.original #⇒ original A.new.aliased #⇒ original
The same happens for
alias as well.