Issue #13800 has been updated by nobu (Nobuyoshi Nakada).
Status changed from Open to Rejected
It's intentional.
See https://bugs.ruby-lang.org/issues/7613#change-35118
----------------------------------------
Bug #13800: Possible regression of Object#method in Ruby 2.3+ for aliases
https://bugs.ruby-lang.org/issues/13800#change-66136
* Author: jmanian (Jeff Manian)
* Status: Rejected
* 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>