March 04, 2009
Denis Koroskin Wrote:

> // file 1
> char[] a = "hello";
> a[4] = '!';
> 
> // file 2
> writefln("hello"); // prints 'hell!'


bad example :)
why so behaviour? imho, it may be occur bacause of bad compiler design only. like C compiler for space optimization collect all mentioning of similar strings and allocate only one for all of occurence. and even in this case it must allocate it in non-writable memory section.
March 04, 2009
On Wed, 04 Mar 2009 08:55:18 +0300, novice2 <sorry@noem.ail> wrote:

> Denis Koroskin Wrote:
>
>> // file 1
>> char[] a = "hello";
>> a[4] = '!';
>>
>> // file 2
>> writefln("hello"); // prints 'hell!'
>
>
> bad example :)
> why so behaviour? imho, it may be occur bacause of bad compiler design only. like C compiler for space optimization collect all mentioning of similar strings and allocate only one for all of occurence. and even in this case it must allocate it in non-writable memory section.

Yeah, that's why it is forbidden. It won't compile in D2.