Andrei Alexandrescu wrote:
Walter Bright wrote:
If I may restate your case, it is that given function that does
something with character arrays:
int foo(string s);
and you wish to pass a mutable character array to it. If foo was
declared as:
int foo(const(char)[] s);
then it would just work. So why is it declared immutable(char)[] when
that isn't actually necessary?
The answer is to encourage the use of immutable strings. I believe the
future of programming will tend towards ever more use of immutable
data, as immutable data:
1. is implicitly sharable between threads
In fact const data is also implicitly sharable between threads.
No. You have to declare it "shared const" to make it sharable between
threads.