On Tue, Nov 12, 2013 at 8:12 PM, Frank-Rene Schäfer <fsch...@gmail.com> wrote:
> (1) hash()-ability != immutability (!)
>
> Proof:
>
> class X:
>     def __hash__(self): return 0
>

x == y != y == x

Proof:

class X:
   def __eq__(self,other): return True
class Y:
   def __eq__(self,other): return False

All you've done is proven that you can subvert things. By fiddling
with __hash__, __eq__, and so on, you can make sets and dicts behave
very oddly. Means nothing.

Fundamentally, your mutability check is going to need some form of
assistance from user-defined classes. That means a class can break
your rules.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to