Guido van Rossum added the comment: This sounds good. Also, reversed() could then be modified to produce a better error. (The "unhashable" error comes from the hash() builtin, so that's also a precedent.)
On Sat, Dec 26, 2015 at 4:32 PM, Andrew Barnert <rep...@bugs.python.org> wrote: > > 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 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