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


Groups > comp.lang.python > #59174

Re: 'isimmutable' and 'ImmutableNester'

References <CAB6+5b_w+kBT=EDqd9wRO80am+Wp2DgrEqSpVEPWkcTAVmYQtQ@mail.gmail.com> <1384206048.30461.46091021.634F0FCA@webmail.messagingengine.com> <CAB6+5b-V1VkgZPwjwZHiGmxUU9ZWgBE7Cgo4k9eg7GKSaNjw6g@mail.gmail.com>
Date 2013-11-12 20:44 +1100
Subject Re: 'isimmutable' and 'ImmutableNester'
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.2447.1384249481.18130.python-list@python.org> (permalink)

Show all headers | View raw


On Tue, Nov 12, 2013 at 8:39 PM, Frank-Rene Schäfer <fschaef@gmail.com> wrote:
>> 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.
>
> To the contrary, it means everything about what 'isimmutable' could
> contribute: security against advert or inadvert insertion of mutable objects.

So how do you figure out whether something's immutable or not? Are you
going to ask the object itself? If so, stick with __hash__, and just
follow the rule that mutable objects aren't hashable - which is, if
I'm not mistaken, how things already are. And if not, then how? How
will you know if something has mutator methods?

ChrisA

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

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

csiph-web