The link https://eisenwave.github.io/cpp-proposals/oxford-variadic-comma.html
remains valid and still points to the most recent version.
parameter-declaration-clause:
parameter-declaration-list_opt ..._opt
parameter-declaration-list , ...
where the first production handles all of
void f()
void f(int)
void f(int x)
void f(...)
void f(int...) // deprecated, equivalent to f(int,...)
void f(auto...)
void f(int x...) // deprecated, equivalent to f(int,...)
void f(auto x...) // deprecated, equivalent to f(auto,...)
It would be so much cleaner to rewrite the grammar as
parameter-declaration-clause:
...
parameter-declaration-list
parameter-declaration-list , ...
parameter-declaration-list ...
where the fourth production is deprecated and the first three are not.
I admit I'm thinking about messy grammar mainly because of how much time I just put into studying the messy `friend` grammar and trying to disentangle it for "Variadic Friends." There's certainly a lot of precedent for the Committee's preferring "short and messy" over "long and clean," and concretely in this case, sadly, I think it would distract and slow down the paper if you asked to clean up the grammar at the same time.
Hmm, I wonder whether cleaning up this particular grammar could be done editorially! That obviously wasn't on the table for `friend`, but might be doable for something this small and self-contained.
–Arthur