In article <4a73e51b5a4f9_138119f2a982704e / redmine.ruby-lang.org>,
  Run Paint Run Run <redmine / ruby-lang.org> writes:

> Enumerable's #hash methods now raise ArgumentErrors when the structure contains a recursive reference. This is hopefully a bug. #hash is expected to return a Fixnum, not make judgments about the object. #to_s and #inspect both work with such objects, which reinforces my assumption.

% ./ruby -e '
a = []
a << a
b = [[]]
b[0] << b
p a.eql?(b)
'
true

Since a and b is equal with eql?, a.hash and b.hash should
have same value.  But we have no such hash function.

Is it valuable to implement such function?

If it is valuable, how we can implement?
-- 
Tanaka Akira