Dave Thomas <Dave / PragmaticProgrammer.com> wrote:
> "Brian F. Feldman" <green / FreeBSD.org> writes:
> 
> > Thanks for the prompt fix, matz!  I should probably write a test case for 
> > this in Rubicon, too.
> 
> I'd appreciate that!
> 
> Thanks

Here's one simple test case that would catch the bug.  I don't think it 
would work on platforms with 128-bit longs though ;)

In TestBignum, you can add these to the end of test_LSHIFT:

    num = 0x80000000
    num = 0x8000000000000000 unless num.is_a?(Bignum)
    if num.is_a?(Bignum)
      assert_equal(num << 1, num * 2)
    end




--
 Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
 green / FreeBSD.org                    `------------------------------'