template<class T, class... Ts>
struct S {
void f(T t ...); // OK
void f(X<Ts...> t0 ...); // OK
void f(Ts...[0] t0 ...); // should be OK
};
P3176R0 "The Oxford variadic comma" deprecates the usage of T t ... to mean T t, .... But it's not deprecated yet! And even when it's deprecated, it'll still be legal C++ (just warning-worthy, not actually ill-formed). So Clang ought to be able to parse it.
But it seems to have a bad interaction with Clang's nascent support for P2662 "Pack Indexing" (new in C++26).
https://godbolt.org/z/fYq5c46fe
P3176R0 "The Oxford variadic comma" deprecates the usage of
T t ...
to meanT t, ...
. But it's not deprecated yet! And even when it's deprecated, it'll still be legal C++ (just warning-worthy, not actually ill-formed). So Clang ought to be able to parse it.But it seems to have a bad interaction with Clang's nascent support for P2662 "Pack Indexing" (new in C++26).