There's no usage of an undeclared variable, but the right-hand-side of the
second line uses 'i' before *the programmer* initializes it. Yes, the D
compiler chooses to automatically initialize it, but by doing so it silently creates a bug every time the programmer intends 'i' to start out as anything other than 0. And it's not easily noticed since 0 is a commonly-used value. (Something like 0xDEADBEEF would at least be an improvement (albeit a small
one) since at least that would stand out more and likely fail more
spectacularly.)

So you want language force you to type either "int x=0;" or "int x=void;".
Fair enough and i agree it "might" be a bit better. But you are making it as it is something so much important. Again, for both coder and the code-reader there is no ambiguity here, every single thing is defined.

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

Reply via email to