Dicebot on leaving D: It is anarchy driven development in all its glory.

Timon Gehr timon.gehr at gmx.ch
Wed Aug 29 17:05:13 UTC 2018


On 29.08.2018 03:59, Walter Bright wrote:
> There's been some talk of adding a "mutable" qualifier for fields, which 
> would stop the transitivity of const at that point. But it has problems, 
> such as what happens with opaque types. The compiler can no longer check 
> them, and hence will have to assume they contain mutable members.

This is a misunderstanding. The __mutable DIP will define the set of 
allowed program rewrites based on const/immutable/pure. Then code that 
uses __mutable must remain correct when they are applied. This achieves 
two things: it clearly defines the semantics of const/immutable/pure and 
(the possibility of) __mutable will not be an optimization blocker.

I'll get back to this once I have finished the tuple DIP implementation.


More information about the Digitalmars-d mailing list