Nick Coghlan <[EMAIL PROTECTED]> added the comment: As far as deque goes, the following behaviour on the trunk is the problem I am trying to fix:
Python 2.6b1+ (trunk:64655, Jul 2 2008, 22:48:24) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from collections import deque, Hashable >>> isinstance(deque(), Hashable) True All of the container types that my patch touches were already unhashable in 2.5 - my patch just ensures that they all correctly return false for isinstance(obj, collections.Hashable) even after we make object.__hash__ inherited by default again. This is also the reason why simply reverting the trunk hash implementation to the 2.5 behaviour (which is what I first tried) is inadequate. Since collections.Hashable is new in 2.6, I can live with it returning the wrong answer for types which define __hash__ to always raise an error (that's a known limitation of the ABC system, even in Py3k). However, we should at least make sure it returns the correct answer for all of the types in the standard library. ---------- assignee: -> ncoghlan _______________________________________ Python tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue2235> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com