When casting we would store the member value as double, which if large
enough would be interpreted as negative double. When assigning that
negative value to an unsigned type, ASan would complain:
blender/software/dev/default/src/source/blender/makesdna/intern/dna_genfile.c:884:9: runtime error: -1.07374e+09 is outside the range of representable values of type 'long unsigned int'
(I kept getting this on startup)
Use a large enough unsigned integer type instead to hold the value.