From b5baceda18fd6e93f8db29f79055a004f6419e1d Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 8 Apr 2019 03:26:28 +0000 Subject: range.c: force hash values fixable * range.c (method_hash): force hash values fixable on LLP64 environment. [ruby-core:92191] [Bug #15756] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- proc.c | 2 +- test/ruby/test_method.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/proc.c b/proc.c index e63b8469ac..558304fb7f 100644 --- a/proc.c +++ b/proc.c @@ -1557,7 +1557,7 @@ method_hash(VALUE method) hash = rb_hash_method_entry(hash, m->me); hash = rb_hash_end(hash); - return INT2FIX(hash); + return ST2FIX(hash); } /* diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb index f313279f62..beffaa8ce0 100644 --- a/test/ruby/test_method.rb +++ b/test/ruby/test_method.rb @@ -197,6 +197,7 @@ class TestMethod < Test::Unit::TestCase def o.foo; end assert_kind_of(Integer, o.method(:foo).hash) assert_equal(Array.instance_method(:map).hash, Array.instance_method(:collect).hash) + assert_kind_of(String, o.method(:foo).hash.to_s) end def test_owner -- cgit v1.2.3