From: Joel VanderWerf Date: 2003-08-22T06:22:49+09:00 Subject: SystemStackError comparing self-referential structures irb(main):021:0> a = []; a << a => [[...]] irb(main):022:0> b = []; b << b => [[...]] irb(main):023:0> a == b SystemStackError: stack level too deep I expected a result of true. Am I expecting too much? It might be hard (or costly) to get this behavior. Array#== could remember (by calling another function and passing along a hash argument throughout the recursion) which pairs it has already compared... This happens in 1.7.3 and 1.8.0. I'm just asking out of curiosity.