On Fri, Apr 4, 2008 at 8:08 AM, Jason Orendorff <[EMAIL PROTECTED]> wrote: > On Fri, Apr 4, 2008 at 9:38 AM, Guido van Rossum <[EMAIL PROTECTED]> wrote: > > > What specific code breaks? Maybe we need to turn this into a warning > > in order to be more backwards compatible? > > I looked at Mercurial. > > It doesn't use __hash__ at all. It uses __eq__ in two files, three total > uses: > > http://hg.intevation.org/mercurial/crew/file/6c4e12682fb9/mercurial/commands.py > > http://hg.intevation.org/mercurial/crew/file/6c4e12682fb9/mercurial/context.py
If it breaks, perhaps the instances of one of those classes that define __eq__ but not __hash__ are used in a set or as dict keys? That's the difference between 2.5 and 2.6 in this area. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ 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