Sigh. Okay. I suppose we could go with this one, but we should also allow its placement before the @union
directive to indicate that the tag should be aligned:
@align
@union # The tag is prepended with up to 7 bits of padding.
uint8 a
float16 b
Later we will be able to expand its functionality as follows:
- Add an optional argument to select arbitrary alignment in bits.
- Support the case where
(_offset_ % 8).count > 1
by requiring implementations to compute the required alignment at runtime (I am worried about this runtime thing because it does complicate min/max size computation).
Is it “align” or “aligned”? I suspect “align” suits the purpose better.
Would you like to submit a PR to the spec yourself where we could then settle down the exact implementation details?