This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gvanrossum
Recipients abarnert, abarry, curioswati, gvanrossum, r.david.murray, rhettinger, serhiy.storchaka, terry.reedy
Date 2015-12-27.02:24:23
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CAP7+vJL4pw4chOvSdEY3jXew5px9NmYh8ZedjxcejynyL-qZtQ@mail.gmail.com>
In-reply-to <1451172733.46.0.245413628278.issue25864@psf.upfronthosting.co.za>
Content
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 <report@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 <report@bugs.python.org>
> <http://bugs.python.org/issue25864>
> _______________________________________
>
History
Date User Action Args
2015-12-27 02:24:23gvanrossumsetrecipients: + gvanrossum, rhettinger, terry.reedy, r.david.murray, serhiy.storchaka, abarnert, abarry, curioswati
2015-12-27 02:24:23gvanrossumlinkissue25864 messages
2015-12-27 02:24:23gvanrossumcreate