Guido van Rossum <guido@python.org> writes: > > This code > > > > class X: > > def __cmp__(self, other): > > return 1 > > > > c1 = X() > > > > d = {} > > d[c1] = None > > > > raises a TypeError, unhashable type, since the class does > > not define a __hash__ method. > > > > This error is no longer raised when X derives from object. > > Bug (or feature)? > > It's something in between. :-( > > I've been struggling with this since 2.2 and not found a good > solution. Built-in mutable types like list and dict deal with this by > having an explicit tp_hash slot that raises an exception. Why doesn't the default implementation raise a TypeError (or be NULL), and the immutable types override this? > > Can you add a SF entry and assign it to me? Any insight you might > have in the matter would be appreciated. Sure. Thomas
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4