Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #59168 > unrolled thread

Re: 'isimmutable' and 'ImmutableNester'

Started byChris Angelico <rosuav@gmail.com>
First post2013-11-12 20:21 +1100
Last post2013-11-12 20:21 +1100
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: 'isimmutable' and 'ImmutableNester' Chris Angelico <rosuav@gmail.com> - 2013-11-12 20:21 +1100

#59168 — Re: 'isimmutable' and 'ImmutableNester'

FromChris Angelico <rosuav@gmail.com>
Date2013-11-12 20:21 +1100
SubjectRe: 'isimmutable' and 'ImmutableNester'
Message-ID<mailman.2441.1384248069.18130.python-list@python.org>
On Tue, Nov 12, 2013 at 8:12 PM, Frank-Rene Schäfer <fschaef@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

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web