On 26.09.22 19:34, Tom Lane wrote:
> I think we can do this while still having reasonable type-safety
> by adding AssertVariableIsOfTypeMacro() checks to the macros.
> An advantage of that solution is that we verify that the code
> will be safe for a 32-bit build even in 64-bit builds. (Of
> course, it's just checking the variable's type not its lifespan,
> but this is still a step forward.)
>
> 0001 attached is what you committed, 0002 is a proposed delta
> to fix the Fast macros.
Thanks, I committed it like that.
(I had looked into AssertVariableIsOfTypeMacro() for an earlier variant
of this patch, before I had the idea with the inline functions. It's in
general a bit too strict, such as with short vs int, and signed vs
unsigned, but it should work ok for this limited set of uses.)