Message 152041 - Python tracker (original) (raw)
On Thu, Jan 26, 2012 at 5:42 PM, Martin v. Löwis <report@bugs.python.org>wrote:
Martin v. Löwis <martin@v.loewis.de> added the comment:
What happens if, instead of putting strings in a dictionary directly, I have them wrapped in something. For example, the classes Antoine and I pasted early. These define hash and equal as being strings, but don't have an ordering.
As Dave has analysed: the dictionary falls back to the current implementation. So wrt. your question "Is it still able to find the value?", the answer is
Yes, certainly. It's fully backwackwards compatible, with the limitation in (i.e. the dictionary order may change for dictionaries with string keys colliding in their hash() values).
Python tracker <report@bugs.python.org> <http://bugs.python.org/issue13703>
But using non-builtin.str objects (such as UserString) would expose the user to an attack?