From: Aaron Patterson Date: 2012-10-17T09:56:06+09:00 Subject: [ruby-core:48040] Should Hash#dup automatically rehash --bp/iNruPH9dso1Pn Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, I broke the build! I'm sorry. :-( It turns out that Set depends on Hash#dup to automatically rehash. For example: require 'minitest/autorun' class TestMutateHash < MiniTest::Unit::TestCase def test_dup_square set1 =3D { } set2 =3D { set1 =3D> true} =20 set1[set1] =3D true =20 dup =3D Hash[set2] =20 refute_equal set2, dup assert_equal set2, dup.rehash end =20 def test_dup_regular set1 =3D { } set2 =3D { set1 =3D> true} =20 set1[set1] =3D true =20 dup =3D set2.dup =20 assert_equal set2, dup.rehash # passes before r37232 end end Is it expected that dup will rehash? If so, I'll fix initialize_copy to rehash. If not, we should probably fix Set to rehash. Thanks! --=20 Aaron Patterson http://tenderlovemaking.com/ --bp/iNruPH9dso1Pn Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (Darwin) iQEcBAEBAgAGBQJQfgIdAAoJEJUxcLy0/6/GBUYH/0VDhQgonZGBGlF8j+eUdNl6 TpYWLsRHKRd3tFXu215SFz4opBByBhi8YUutQxh9ca+0s1bNupzrjwG0xdJFXGjt JIS80qHio/q4B/EbatEERty6Asa5q6fWiZjUWiP1plfHQeTSuuN8wqiZpuv/LHpJ hkOjvMFgMxib6WOkRIJ1nAY0ggP/iBjgm/OgqBbhGSN/dD5F7AklUJ8ea/wOW/Gz KFPEVfVCjqs44pASSVi8EAQak9jOpbck5FHBb2ij+TFJcuVKmw3qvNOu27t1pDjr KqX2/tWUlXfQ1EILLZuc2No58NfCl3t/3RDDefcOF2yN7aaqDgaRxMFncFq8xVg= =6zvo -----END PGP SIGNATURE----- --bp/iNruPH9dso1Pn--