On Monday, 8 April 2013 at 12:39:58 UTC, Manu wrote:
On 8 April 2013 21:53, Iain Buclaw <[email protected]> wrote:

On 8 April 2013 12:41, deadalnix <[email protected]> wrote:

On Monday, 8 April 2013 at 09:41:52 UTC, Iain Buclaw wrote:

It uses some type information, eg:

const/immutable/wild  -> qualified const.
shared -> qualified volatile.
shared + const/wild -> qualified const/volatile.


const/wild can be muted via aliasing. I'm not sure how GCC's backend understand const, but this seems unclear to me if this is correct.


GCC's backend is pretty much C/C++ semantics. So the const qualifier is
shallow, and does not guarantee that no mutations will occur.


But D makes no further guarantee. I don't see how const in D is any different than const in C++ in that sense? That's basically the concept of const, it's not a useful concept for optimisation, only immutable is.

D const is transitive, surely that makes a difference/presents an opportunity?

Reply via email to