[Ironruby-core] Code Review: HashFixes

Jimmy Schementi Jimmy.Schementi at microsoft.com
Tue Jun 23 17:45:00 EDT 2009

How are we going to make sure this gets back into REXML and RubyGems? We shouldn't ship significantly different versions of the Ruby stdlib, as people will expect to switch to any version of the stdlib without issues.

My first thought is to have someone in the community step up to propose these changes to RubyGems and REXML for us, and get them checked in. Anyone interested?


> -----Original Message-----
> From: Tomas Matousek
> Sent: Tuesday, June 23, 2009 1:37 PM
> To: IronRuby External Code Reviewers
> Cc: ironruby-core at rubyforge.org
> Subject: Code Review: HashFixes
>   tfpt review "/shelveset:HashFixes;REDMOND\tomat"
>   Fixes implementation of hash methods in REXML and RubyGems. The
> current implementation is incorrect since it sums hash codes of
> subcomponents potentially overflowing to Bignum. This issue is mainly
> exposed when calculating hash of an array. Array#hash calculates its hash
> code by calling hash on each item and converting the result of the hash
> method into Fixnum. So if the result if the hash method is a Bignum an error
> is reported:
>   class C
>     def hash
>       100000000000000000000
>     end
>   end
>   [C.new].hash  # => in `hash': bignum too big to convert into `long'
> (RangeError)
> Tomas

More information about the Ironruby-core mailing list