Andrew Barnert added the comment:

As mentioned in #25958, Guido pointed out on -ideas that `__hash__ = None` is 
already the standard way to declare a class unhashable, and it's recognized by 
`collections.abc.Hashable`.

Doing `__reversed__ = None` does make `reversed(m)` raise a `TypeError` 
(although with a description saying "'NoneType' is not callable", which isn't 
quite as nice a description, but probably good enough).

So, I think `Mapping` should set `__reversed__ = None`, rather than setting it 
to a method that raises `TypeError`. (If we need something more general, that's 
for #25958 and/or Serhiy's typechecking bug.)

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue25864>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to