From bf4a14a274fbcc02356336449c52d3553938014a Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 30 Apr 2019 13:02:42 +0000 Subject: merge revision(s) 67468: [Backport #15757] range.c: force hash values fixable * range.c (range_hash): force hash values fixable on LLP64 environment. [ruby-core:92194] [Bug #15757] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- range.c | 2 +- test/ruby/test_range.rb | 1 + version.h | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/range.c b/range.c index 589755753f..4993a5e645 100644 --- a/range.c +++ b/range.c @@ -232,7 +232,7 @@ range_hash(VALUE range) hash = rb_hash_uint(hash, EXCL(range) << 24); hash = rb_hash_end(hash); - return LONG2FIX(hash); + return ST2FIX(hash); } static void diff --git a/test/ruby/test_range.rb b/test/ruby/test_range.rb index fef7acc062..da883767bc 100644 --- a/test/ruby/test_range.rb +++ b/test/ruby/test_range.rb @@ -165,6 +165,7 @@ class TestRange < Test::Unit::TestCase assert_kind_of(Integer, (0..1).hash) assert_equal((0..1).hash, (0..1).hash) assert_not_equal((0..1).hash, (0...1).hash) + assert_kind_of(String, (0..1).hash.to_s) end def test_step diff --git a/version.h b/version.h index 31c42fafbd..043653f71b 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.5.6" #define RUBY_RELEASE_DATE "2019-04-30" -#define RUBY_PATCHLEVEL 162 +#define RUBY_PATCHLEVEL 163 #define RUBY_RELEASE_YEAR 2019 #define RUBY_RELEASE_MONTH 4 -- cgit v1.2.3