Google's Go & Exceptions
Walter Bright
newshound1 at digitalmars.com
Tue Jan 26 12:08:23 PST 2010
Andrei Alexandrescu wrote:
> Walter Bright wrote:
>> bearophile wrote:
>>> In GCC there is also the "warn_unused_result" function attribute that
>>> raises a compile time warning if you don't use the return value of a
>>> function:
>>
>> That may wind up suffering similar problems as checked exceptions do -
>> just do a quick and dirty assign the return value to a hastily
>> declared temp and ignore it, meaning to fix it later.
>>
>> Of course, it doesn't actually get fixed later. Even worse, during
>> code reviews, it will look like the code is paying attention to the
>> error code, but it won't be.
>
> I'd think in a code review a variable assigned and subsequently never
> used is bound to raise a red flag.
I agree, if it was noticed. For me,
int result = foo();
in the code implies that 'result' is later used. I'd have to search to
see if it wasn't, which is harder than noticing that:
foo();
ignores the result.
This goes back to my theory that a feature that encourages the
programmer to insert misleading dead code to shut the compiler up is a
misfeature.
More information about the Digitalmars-d
mailing list