No takers? I''ve documented this at
http://ironruby.net/Documentation/Ruby_Standard_Library/Modifications so if
anyone wants to bite the info is there.
~js
> -----Original Message-----
> From: Jimmy Schementi
> Sent: Tuesday, June 23, 2009 2:45 PM
> To: Tomas Matousek; IronRuby External Code Reviewers
> Cc: ironruby-core at rubyforge.org
> Subject: RE: Code Review: HashFixes
>
> 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?
>
> ~js
>
> > -----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