[Python-Dev] __eq__ vs hash
Guido van Rossum
guido at python.org
Fri Apr 4 18:08:16 CEST 2008
On Fri, Apr 4, 2008 at 8:08 AM, Jason Orendorff
<jason.orendorff at gmail.com> wrote:
> On Fri, Apr 4, 2008 at 9:38 AM, Guido van Rossum <guido at python.org> 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/)
More information about the Python-Dev
mailing list