On 08.07.2019 12:39, Giuliano Colla wrote:
Il 07/07/2019 07:33, J. Gareth Moreton ha scritto:
In the meantime, I'm working on making
"as" and "is" work with ordinal types as
well as enumerations, although currently
some headaches occur if the right-hand
side is larger than the CPU word size
(e.g. Int64 on i386). I'll upload the
patch to the issue once it's working
properly.
Sorry for jumping in without having followed the full discussion, but
I wonder if "as" and "is" are the best constructs to implement range
checking. Wouldn't "in" be much more appropriate?
Sort of:
if value in enumvar then DoThat else IgnoreIt;
The IN operator
1.) expects a value on the right side, not a type.
2.) can be overloaded:
https://www.freepascal.org/docs-html/ref/refse104.html#x213-23500015.6 .
IS/AS cannot.
Ondrej
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel