Curt pointed out a way to fix the recursive case using 
RubyUtils.RecursionTracker...

-----Original Message-----
From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Shri Borde
Sent: Thursday, April 16, 2009 3:06 PM
To: ironruby-core@rubyforge.org
Subject: Re: [Ironruby-core] Bug filed: Array#hash should properly handle 
recursive arrays

I can fix RubyArray.GetHashCode to handle the simple case of an array 
containing itself.

However, the simple fix wont deal with the case where the array is indirectly 
recursive as in this snippet.
  a = []
  b = [a]
  a<<b

-----Original Message-----
From: ironruby-core-boun...@rubyforge.org 
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Daniele Alessandri
Sent: Thursday, April 16, 2009 2:20 PM
To: ironruby-core@rubyforge.org
Subject: [Ironruby-core] Bug filed: Array#hash should properly handle recursive 
arrays

Hi,

I have just filed this bug on CodePlex:
http://ironruby.codeplex.com/WorkItem/View.aspx?WorkItemId=605

It is actually pretty easy to fix with a bunch of lines of code in
RubyArray.GetHashCode (just tested, too bad IronRuby.dll is not open
to contributions) and, as a result, this would resolve the following 4
critical failures for the array core specs:

Array#hash properly handles recursive arrays
Array#| properly handles recursive arrays
Array#uniq properly handles recursive arrays
Array#uniq! properly handles recursive arrays

Regards

-- 
Daniele Alessandri
http://www.clorophilla.net/blog/
http://twitter.com/JoL1hAHN
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to