On 8 April 2013 23:01, John Colvin <[email protected]> wrote:

> 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?
>

No, I think that just makes it 'safer', or as many might say, "more
annoying" ;)

Reply via email to