Issue #11964 has been updated by Nobuyoshi Nakada.
Status changed from Assigned to Closed
Seems fixed by r56592.
----------------------------------------
Bug #11964: __callee__ in aliased methods defined in a module returns an incorrect value
https://bugs.ruby-lang.org/issues/11964#change-62522
* Author: Sinuhe Hardegree
* Status: Closed
* Priority: Normal
* Assignee: Koichi Sasada
* Target version:
* ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONTNEED, 2.3: REQUIRED
----------------------------------------
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.
~~~ruby
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>