On 06/19/2012 07:40 PM, Christophe Travert wrote:
Christophe Travert, dans le message (digitalmars.D:170182), a écrit :
Timon Gehr , dans le message (digitalmars.D:170178), a écrit :
That is completely unrelated.
It is impossible to justify transitivity of const for delegate context
pointers using this argument. It is far too general and the
justification for the general concept comes from a specific example
that is different from the one at hand.

The question is, what the meaning of 'const' references should be:

1. data cannot be changed transitively through the reference

2. the reference can reference both 'const' and 'immutable' data and
     'immutable' data can transitively not be changed through the
     reference.


1. requires transitive const for delegate context pointers, 2. does not.

A const reference can contain

I don't understand the difference.

Apologies, I forgot to complete my post:

A const reference can contain both mutable and immutable data, as long
as it does not allow to mutate it.

Exactly,

absolutely no mutation ==> can refer to mutable or immutable data

but

can refer to mutable or immutable data =/=> absolutely no mutation

The question is whether 'const' is there just to tie together mutable
and immutable, or if it is a distinct entity.

Reply via email to