title: How to make a variadic lambda?
body: <p>When I try to make a variadic lambda:</p>
  
  <pre><code>#include &lt;cstdarg&gt;
  
  int main() {
      [] (int x, ...) { va_list xs; va_start(xs, x); va_end(xs); };
      return 0;
  }
  </code></pre>
  
  <p>With GCC this compiles fine, but clang rejects it:</p>
  
  <pre>
  main.cpp:4:35: error: 'va_start' used in function with fixed args
      [] (int x, ...) { va_list xs; va_start(xs, x); va_end(xs); };
                                    ^
  </pre>
  
  <p>Which compiler is correct here? Is it possible to make a variadic lambda?</p>
  
  <hr>
  
  <p>Curiously, the following results in an ICE with clang, so it looks like clang is being buggy with variadics:</p>
  
  <pre><code>int f(...) {
      [] (int x, ...) { va_list xs; va_start(xs, x); va_end(xs); };
      return;
  }
  </code></pre>