ruby-changes:12465
From: akr <ko1@a...>
Date: Fri, 17 Jul 2009 16:49:23 +0900 (JST)
Subject: [ruby-changes:12465] Ruby:r24165 (trunk): * array.c (recursive_hash): reject recursive key.
akr 2009-07-17 16:49:06 +0900 (Fri, 17 Jul 2009) New Revision: 24165 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24165 Log: * array.c (recursive_hash): reject recursive key. Modified files: trunk/ChangeLog trunk/array.c trunk/test/ruby/test_array.rb Index: array.c =================================================================== --- array.c (revision 24164) +++ array.c (revision 24165) @@ -2884,7 +2884,7 @@ VALUE n; if (recur) { - return LONG2FIX(0); + rb_raise(rb_eArgError, "recursive key for hash"); } h = rb_hash_start(RARRAY_LEN(ary)); for (i=0; i<RARRAY_LEN(ary); i++) { Index: ChangeLog =================================================================== --- ChangeLog (revision 24164) +++ ChangeLog (revision 24165) @@ -1,3 +1,7 @@ +Fri Jul 17 16:45:22 2009 Tanaka Akira <akr@f...> + + * array.c (recursive_hash): reject recursive key. + Fri Jul 17 15:20:53 2009 Nobuyoshi Nakada <nobu@r...> * random.c (DIGSPERINT): fix for LP64. Index: test/ruby/test_array.rb =================================================================== --- test/ruby/test_array.rb (revision 24164) +++ test/ruby/test_array.rb (revision 24165) @@ -1572,9 +1572,7 @@ def test_hash2 a = [] a << a - b = [] - b << b - assert_equal(a.hash, b.hash) + assert_raise(ArgumentError) { a.hash } end def test_flatten2 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/