Issue #13800 has been reported by jmanian (Jeff Manian).

----------------------------------------
Bug #13800: Possible regression of Object#method in Ruby 2.3+ for aliases
https://bugs.ruby-lang.org/issues/13800

* Author: jmanian (Jeff Manian)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 2.2.3, 2.2.7, 2.3.0, 2.3.3, 2.3.4, 2.4.1
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
The behavior of `Object#method` changed in 2.3 when using it to compare aliases. The change is best illustrated below:

~~~ ruby
module Foo
  def foo
  end
  alias_method :foo_foo, :foo
end

class Bar
  include Foo
  alias_method :bar, :foo
end

bar = Bar.new
bar.method(:foo) == bar.method(:bar)
# true in Ruby 2.2
# false in Ruby 2.3 and 2.4

bar.method(:foo) == bar.method(:foo_foo)
# true in Ruby 2.2, 2.3, 2.4
~~~

Was this an intentional change in 2.3 or a regression?
I tested this with 2.2.3, 2.2.7, 2.3.0, 2.3.3, 2.3.4, and 2.4.1.



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