null [re: spec#]
Nick Sabalausky
a at a.a
Mon Nov 8 21:51:25 PST 2010
"Walter Bright" <newshound2 at digitalmars.com> wrote in message
news:ib87ai$26u8$1 at digitalmars.com...
> Nick Sabalausky wrote:
>> Well I'll be damned, even C/C++ knows that uninitialized variables
>> shouldn't be used, and yet D doesn't. This is where Walter claims that
>> getting rid of that warning improves safety because it prevents people
>> from "shutting the compiler up" by changing this:
>>
>> int i = i + 5;
>>
>> Into this code which D happily accepts:
>>
>> int i;
>> i = i + 5;
>
>
> For the code:
>
> void test()
> {
> int i = i + 5;
> }
>
> D reports:
>
> test.d(4): Error: undefined identifier i
Yes, which by your "people will toss something in to shut the compiler up"
reasoning will then cause people to turn that into this "to shut the
compiler up":
void test()
{
int i;
i = i + 5;
}
Which the D compiler will be perfectly happy with even though it's probably
wrong.
More information about the Digitalmars-d
mailing list