On 11/16/2015 11:58 AM, Lionello Lunesu wrote:
On 16/11/15 22:45, Andrei Alexandrescu wrote:
On 11/16/2015 08:51 AM, Marc Schütz wrote:
On Monday, 16 November 2015 at 02:26:29 UTC, Andrei Alexandrescu
wrote:
Yah, I agree with that argument. Probably @mutable is a more
principled way to go about things.

Glad to here that. I think the current transitive const system
is really good and shouldn't be watered down beyond necessity.
And a @mutable keyword, too, shouldn't just mean "immutability
or const-ness end here", thus allowing any kind of mutation. What
we actually need for immutable/const refcounting etc. is
_non-observable mutation_, i.e. physical mutability, but without
observable effects outside of the type's implementation (better
yet, restricted to very short parts of it, just like @trusted).

The challenge is proving that a mutation is not observable. Got an
 attack on that? -- Andrei

Forgive me, I haven't followed the RC discussions closely, so I miss
a lot of context. Feel free to point me to existing
threads/articles.

The best place to start for absorbing context is look at the casts in
http://dpaste.dzfl.pl/52a3013efe34, understand the necessity of each,
and figure out how they can be either made legal or (preferably) eliminated.

If it's RC we want, then @mutable is an axe when what we need is a
scalpel.

There's more than RC in there.


Andrei


Reply via email to