Issue #11964 has been reported by Sinuhe Hardegree.

----------------------------------------
Bug #11964: __callee__ in aliased methods defined in a module returns an incorrect value
https://bugs.ruby-lang.org/issues/11964

* Author: Sinuhe Hardegree
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
With Ruby 2.3, instead of following snippet printing bar (as it does with ruby 2.2.4) it prints foo. 
If the methods are defined within the class instead of an included module, the snippet prints bar.

~~~
module Mod
  def foo
    __callee__
  end
  alias_method :bar, :foo
end

class Klass
  include Mod
end

a = Klass.new
p a.bar
~~~


This appears to be the behavior for both 2.3.0 and ruby 2.3.0dev (2015-11-12 trunk 52550) [x86_64-linux]



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>