Vinzent Höfler wrote:
I just grep'ped the actual sources of the project (about 70K LOC) and I found exactly four occurences of my "if Ignore_Result() then {null};" pattern with FPC runtime routines. There are others, but those routines access hardware and on some occasions I really need to ignore failures there.

2x IOResult
1x SysUtils.DeleteFile
1x BaseUnix.fpChMod

Twice more of this pattern occured to avoid the compiler hint of unused parameters. So if "false positives" is an indicator for uselessness of a compiler message, I'd tend to doubt the usefulness of that.
So, if I read you correctly, if you call a function that you don't care what the result is, instead of:

Begin
 SomeFunction(123); // Ignore result
End;

... you would have us write:

Var Dummy: SomeType;
Begin
 Dummy := SomeFunction(123);
End;

... or else get warnings from the compiler?

I'm afraid there are tons of code out there that this would effect. I don't think any of the maintainers of such code would appreciate that change much. Maybe, just maybe, an optional {$MODE ULTRA_STRICT_FUNCTION_RESULT_USE} type compiler option, whose default was off, would be ok, but otherwise such a change would be far worse than the "problem" you are trying to address (someone improperly not using the function result when they were supposed to).

Jeff.

--
I haven't smoked for 1 year, 11 months and 3 weeks, saving $3,274.62 and not smoking 21,830.81 cigarettes.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to