mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
force fixable
* complex.c (nucomp_hash): force hash values fixable. [ruby-core:85224] [Bug #14420] * rational.c (nurat_hash): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5af43b1ec2
commit
3f7221ad3d
4 changed files with 11 additions and 5 deletions
|
@ -1253,7 +1253,7 @@ nucomp_hash(VALUE self)
|
|||
n = rb_hash(dat->imag);
|
||||
h[1] = NUM2LONG(n);
|
||||
v = rb_memhash(h, sizeof(h));
|
||||
return LONG2FIX(v);
|
||||
return ST2FIX(v);
|
||||
}
|
||||
|
||||
/* :nodoc: */
|
||||
|
|
|
@ -1783,7 +1783,7 @@ nurat_hash(VALUE self)
|
|||
n = rb_hash(dat->den);
|
||||
h[1] = NUM2LONG(n);
|
||||
v = rb_memhash(h, sizeof(h));
|
||||
return LONG2FIX(v);
|
||||
return ST2FIX(v);
|
||||
}
|
||||
|
||||
static VALUE
|
||||
|
|
|
@ -48,8 +48,12 @@ class Complex_Test < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_hash
|
||||
assert_kind_of(Integer, Complex(1,2).hash)
|
||||
assert_kind_of(Integer, Complex(1.0,2.0).hash)
|
||||
h = Complex(1,2).hash
|
||||
assert_kind_of(Integer, h)
|
||||
assert_nothing_raised {h.to_s}
|
||||
h = Complex(1.0,2.0).hash
|
||||
assert_kind_of(Integer, h)
|
||||
assert_nothing_raised {h.to_s}
|
||||
|
||||
h = {}
|
||||
h[Complex(0)] = 0
|
||||
|
|
|
@ -42,7 +42,9 @@ class Rational_Test < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_hash
|
||||
assert_kind_of(Integer, Rational(1,2).hash)
|
||||
h = Rational(1,2).hash
|
||||
assert_kind_of(Integer, h)
|
||||
assert_nothing_raised {h.to_s}
|
||||
|
||||
h = {}
|
||||
h[Rational(0)] = 0
|
||||
|
|
Loading…
Reference in a new issue