From: matz@... (Yukihiro Matsumoto) Date: 2000-01-12T00:18:49+09:00 Subject: [ruby-talk:01098] Re: Infinite loop Hi, In message "[ruby-talk:01092] Re: Infinite loop" on 00/01/11, Clemens Hintze writes: |> Exactly - it just seems inconsistent, but as I mentioned originally, I |> don't think it's necessarily a bug ;-) | |But here we differ in opinion! In my eyes, this *is* necessarily a |bug! I agree. This is a bug. Here's two option to solve this. Which do you prefer? (a) like Array#inspect, Array#hash can use rb_protect_inspect() and rb_inspecting_p() to detect cycles. (b) change the behavior of Array#hash not to traverse items recursively. e.g. def hash h = self.id for item in self h ^= item.id end h end Both are real eacy to implement. I prefer latter. matz.