Dnia 20-11-2010 o 13:33:29 spir <denis.s...@gmail.com> napisał(a):

I find this proposal really necessary. But aren't there two issues here?
* Comparison (for lookup) by value equality should not care about qualifiers (ie compare raw content, here plain array memory areas).
* Assignment should perform "qualification conversion" automatically, eg
        char[] chars = "abc";
        string s = chars;
This involves no implicit magic here, as target qualification is explicit. So, why not?

It's busting the whole const system to smithereens.

char[] chars = "abc";
char[] backdoor = chars;
string s = chars;
assert (s == "abc");
backdoor.front = 'k';
assert (s == "abc"); // fails. not so immutable, huh?

There is a repetitive programming pattern in D:
* play around with *string's in general
* as soon as text processing is needed, convert to *char[]
* when finished, convert back to *string

Meh, immutable strings make life easier.

--
Tomek

Reply via email to