Speaking about D mistakes Steve spoke about missing tail const.
I was thinking about this, and I fully agree that it is a hole.
I don't know if it was already discussed, but I was thinking that one could introduce
        *const T t1;
and
        *immutable T t2;

Sorry if i am overlooking something but if we are going that far, why not just :

const(int)* p; // tail const pointer   - already here
const(int)& r; // tail const reference - will be introduced and quite straightforward.

One can see that this tail const is really a common type, indeed string is such a type, and a function can be pure even if its arguments is *immutable, because any changes would be done to a local copy in the function. I think that these things point toward the usefulness of a *const and *immutable attributes.

It is indeed common and IMHO it is the biggest reason why pointers are still used too much in C++ where references should be the obvious choice.

--
Using Opera's revolutionary email client: http://www.opera.com/mail/

Reply via email to