View Issue Details

IDProjectCategoryView StatusLast Update
0030355RunnerGeneralPublic2019-05-10 16:29
ReporterAlan SavageAssigned ToRussell Kay 
PriorityLowSeverityC - GeneralReproducibility100%
Status ClosedResolutionFixed 
Product Version2.2.1 
Target Version2.2.3Fixed in Version2.2.3 
Summary0030355: Enums: enumeration value is truncated to signed int32 value, not documented and can cause unexpected results
Descriptionenumeration values are truncated to signed int32 values which can give unexpected results, eg
enum ENUM {
    a = 0x80000000,
    b = 5000000000

var a = 0x80000000;
var b = 5000000000;
( a == ENUM.a ) is false ( a is 2147483648, ENUM.a is -2147483648 )
( b == ENUM.b ) is false (ENUM.b is -2147483648 )

documentation does not mention this behaviour and currently states re enum values : "This value can be any integer number that a floating point double precision number can represent" which is incorrect.

Additional Information
1.4 Found In
2.x Runtime Found In
2.x Runtime Verified In9.9.1.1436


Russell Kay

2019-01-08 12:45

Manager   ~0062380

Fixed in gitlab - internal table truncated enums to int's... this has been corrected...