On 06/05/2012 03:19 PM, Gerd Hoffmann wrote: > Hi, > >> <snip> >> >> Suggestion: add a _guest marker for ordinary state. Fail the build on >> unmarked fields. This ensures that some thought is given to each field, >> instead of having a default that may be correct most of the time, but >> not always. >> >> Suggestion: add a mandatory position hint (_guest(7) or _pos(7)) that >> generates ordering within the fields. This decouples the order of lines >> in the struct from the protocol, so you can add state where it make >> sense, or rearrange lines when they don't, and detect copy/paste errors. > > I wouldn't make the position mandatory. I expect the next generation > migration wire protocol transmits the field names anyway, so the > ordering will not matter any more, we need it for compatibility with > today's format only.
We can remove the position hints when the old protocol is no longer supported, but until then, it's IMO too easy to break compatibility by moving lines around. -- error compiling committee.c: too many arguments to function