[fpc-devel] Dangerous optimization in CASE..OF

Michael Van Canneyt michael at freepascal.org
Sun Jul 2 17:05:23 CEST 2017



On Sun, 2 Jul 2017, Tomas Hajny wrote:

> On Sun, July 2, 2017 16:48, Marco van de Voort wrote:
>> In our previous episode, Martok said:
>>> It is really hard to write code that interacts with the outside world
>>> without
>>> having a validation problem.
>>
>> Then you arguing wrong. Then you don't need validation everywhere, but
>> something you can call to simply confirm an enum has correct values after
>> reading.
>>
>> It is not logical to have heaps of checks littered everywhere if the
>> corruption happens in a defined place (on load).
>>
>> Worse, tying it to range check would then have heaps of redundant checking
>> everywhere, not just enums.
>
> True. That's why I believe that Read from a (typed) file should perform
> such validation - but it doesn't at the moment, as mentioned in my e-mail
> in the other thread. :-(

IMHO it should not.

By declaring it as a File of Enum, you are telling the compiler that it contains only valid enums.


Michael.



More information about the fpc-devel mailing list