Andres Freund <andres(at)2ndquadrant(dot)com> writes:
> I was actually thinking about making Datum (and some other types we
> have) structs or unions. Currently it's far, far to easy to mix them. We throw
> away pretty much all of the little typesafety C has by typedef'ing them
> to integral types with lots of autocasting behaviour.
That's intentional; on many ABIs, making Datum a struct would be
catastrophic performance-wise because it would not be eligible for simple
register pass or return conventions. In any case, the number of bugs
I can remember that such a thing would've prevented is negligible.
regards, tom lane