[Python-Dev] unsubscriptable vs object does not support indexing (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Thu Sep 24 04:04:18 CEST 2009


Brett Cannon wrote:

So +0 on your specific improvment and +1 for trying to think about newbies when writing exception messages.

The eq/hash messages are somewhat arcane because the problem they're describing is somewhat arcane.

Michael's suggested improvement also isn't quite right (and I believe indicates that we're susceptible to issuing false alarms in this case). You really only need to override hash if you want your object to remain hashable, but we currently issue the warning for any object that defines eq without defining hash.

Perhaps the implementation of that warning should be improved so that it is only issued if the default hash implementation is actually invoked on an affected object? (the downside is that depending on the implementation technique the extra checks may slow down hashing under "python -3", but I guess that kind of the undesirable impact is the reason we have all those warnings switched off by default)

Cheers, Nick.

-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia



More information about the Python-Dev mailing list