On Apr 4, 2008, at 10:38 AM, Guido van Rossum wrote: > On Fri, Apr 4, 2008 at 2:46 AM, Ralf Schmitt <[EMAIL PROTECTED]> wrote: >> the news file for python 2.6 does not mention that you need to define >> __hash__ in case you define __eq__ for a class. >> This breaks some code (for me: mercurial and pyparsing). >> Shouldn't this be documented somewhere (I also cannot find it in the >> whatsnew file). > > Well, technically this has always been the requirement. > > What specific code breaks? Maybe we need to turn this into a warning > in order to be more backwards compatible?
I think a warning would be nice. I've run into a number of places that are breaking due to the change. Including parts of the standard lib, in particular, unittest.TestSuite as used by nose [1]. There is already an open issue with patches for this in the issue tracker [2]. I've been running trunk with the patch installed and am able to get past the breakage due to the change. I don't believe the current patch is kicking out a warning however. [1] http://code.google.com/p/python-nose/issues/detail?id=161 [2] http://bugs.python.org/issue2235 _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com