Removes all known zerovec:: attributes from struct attrs and validates them
Extract attributes from field, and return them
Extracts all zerovec::name(..)
attribute
Removes all attributes with zerovec
in the name and places them in a separate vector
Given an iterator over ULE or AsULE struct fields, returns code that calculates field sizes and generates a line
of code per field based on the per_field_code function (whose parameters are the field, the identifier of the const
for the previous offset, the identifier for the const for the next offset, and the field index)
Returns the repr attribute to be applied to the resultant ULE or VarULE type
Return a semicolon token if necessary after the struct definition
Given a set of entries for struct field definitions to go inside a struct {}
definition,
wrap in a () or {} based on the type of field