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