As far as I am aware, enum cases in C are integers (at least prior to C23). Yet, when writing my experimental wrapping for Raylib, I have noticed that that the rawValue of enum type is UInt32, when converted to string is UInt32 (instead of Int32).
What is the reason for this behavior?
Is it an error?
Is it implementation defined?
... The RawValue is based on the enumeration members; enums with strictly non-negative members are imported as CUnsignedInt (I assume, I see UInt32 on macOS), while those that have negative members are imported as CInt (Int32 on macOS).