Steven Schveighoffer wrote:
On Wed, 29 Apr 2009 03:35:32 -0400, Walter Bright
<[email protected]> wrote:
Derek Parnell wrote:
Oh, I agree. It is just that the documentation is pretty adamant that
"immutability" means that the data WILL NOT change. It gives the
impression
that there is compiler support to ensure that this is axiomatic
rather than
just a convention.
D is a systems programming language. By that I mean that there are
mechanisms to defeat the type system, for those that know what they're
doing.
If you defeat the type system, and mutate immutably-typed data, the
onus is on you. It's like if you pop the carburetor off and put a
supercharger on, you void the warranty <g>.
I hate having to keep argue this, but you keep forgetting. You cannot
create immutable data without circumventing the type system (except
strings which have special treatment).
Yes, this is a bug, and one not easy to fix (requires a bit of flow
control in constructors), but we know how to fix it. It's just a matter
of time.
Andrei