[ruby-core:76218] [Ruby trunk Bug#11964] __callee__ in aliased methods defined in a module returns an incorrect value

From: the.codefolio.guy@...
Date: 2016-07-01 22:15:52 UTC
List: ruby-core #76218
Issue #11964 has been updated by Noah Gibbs.


Looks like this broke in r51126 (GitHub rev 5e8a147480f87f19a8b96ad3fb33a25fb4bb19b9).

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

* 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: 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>

In This Thread

Prev Next