[Ironruby-core] Code Review: HashFixes
Jimmy.Schementi at microsoft.com
Wed Jul 1 03:08:34 EDT 2009
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.
> -----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?
> > -----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