Sorry my patch is incomplete, because it does not support auto ref tuple parameter.
void rvalueVargs(T...)(auto ref T x) if (!__traits(isRef, x[0])) {}
void lvalueVargs(T...)(auto ref T x) if ( __traits(isRef, x[0])) {}
void test6404()
{
int n;
static assert(!__traits(compiles, rvalueVargs(n)));
static assert( __traits(compiles, rvalueVargs(0)));
static assert( __traits(compiles, lvalueVargs(n)));
static assert(!__traits(compiles, lvalueVargs(0)));
}