On Tuesday, 2 July 2013 at 13:39:36 UTC, Dicebot wrote:
On Tuesday, 2 July 2013 at 13:33:10 UTC, Michal Minich wrote:
Ok I understand. What I did as a first thing when I get error on "char[] x = "a" was "char x = cast(char[])"a", Which was obviously incorrect - as the "a" was/should be placed in rom. So if this expression is allays wrong - casting string literal to mutable, then compiler should emit an error on this

explicit cast means a order from a programmer "type system, I know what I am doing, don't even try to bother me". You should never use casts to simply suppress errors (unless absolutely sure) in the very first place.

I completely agree.

The other thing is, for the less aware programmers, a warning on non-linux and a error on linux might be nice. As this cast (on linux), will _allways_ result in undefined behavior. It is something compiler can easily tell, and advice "use .dup instead of cast..."

Reply via email to