[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:3359

From: "pypypy567 (py _)" <redmine@r...>
Date: Sat, 13 Oct 2012 08:51:03 +0900
Subject: [ruby-reference-manual:3359] [るりまプロジェクト - Bug #7151][Open] 1.9系の Method#hash と UnboundMethod#hash は壊れている


Issue #7151 has been reported by pypypy567 (py _).

----------------------------------------
Bug #7151: 1.9系の Method#hash と UnboundMethod#hash は壊れている
https://bugs.ruby-lang.org/issues/7151

Author: pypypy567 (py _)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
reporter: 
ruby_version: 


  a = method(:==)
  b = method(:eql?)
  p a.eql? b          #=> true
  p a.hash == b.hash  #=> false
  p [a, b].uniq.size  #=> 2

a.eql?(b) が true なのに hash が違います。
alias でないのに eql? が成り立つメソッドが考慮されていなのだと思います。
alias の場合は hash も一致します。
trunk では修正されているようです。(Bug #6048)

どう書くのがいいかよく分かりませんがとりあえずパッチに文案を書いてみました。



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

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    3359 2012-10-13 01:51 [redmine@r...        ] [るりまプロジェクト - Bug #7151][Open] 1.9系の Method#hash と UnboundMethod#hash は壊れている
      3804 2013-09-04 03:15 ┣[redmine@r...        ] [るりまプロジェクト - Bug #7151] 1.9系の Method#hash と UnboundMethod#hash は壊れている
      3840 2013-09-29 10:58 ┗[redmine@r...        ] [るりまプロジェクト - Bug #7151][Closed] 1.9系の Method#hash と UnboundMethod#hash は壊れている