On 2016-12-30 17:04, Ethan Furman wrote:
On 12/30/2016 04:31 PM,j...@math.brown.edu wrote:
On Fri, Dec 30, 2016 at 7:20 PM, Ethan Furman wrote:
If you are relying on an identity check for equality then no
two FrozenOrderedCollection instances can be equal. Was that
your intention? It it was, then just hash the instance's
id() and you're done.
No, I was talking about the identity check done by a set or dict
when doing a lookup to check if the object in a hash bucket is
identical to the object being looked up. In that case, there is
no need for the set or dict to even call __eq__. Right?
No. It is possible to have two keys be equal but different -- an
easy example is 1 and 1.0; they both hash the same, equal the same,
but are not identical. dict has to check equality when two different
objects hash the same but have non-matching identities.
I think that is the same as what he said. The point is that if they
*are* the same object, you *don't* need to check equality.
--
Brendan Barnwell
"Do not follow where the path may lead. Go, instead, where there is no
path, and leave a trail."
--author unknown
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/