Proposed change to variable-length arrays

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?