title: How to perfectly forward `auto&&` in a generic lambda?
body: <p>C++14 supports generic lambdas. However, the following code is rejected by clang 3.4.</p>
  
  <pre><code>#include &lt;utility&gt;
  
  void f(int);
  void f(int&amp;);
  
  int main()
  {
      [](auto&amp;&amp; v) { f(std::forward&lt;auto&gt;(v)); }(8); // error
  }
  </code></pre>
  
  <p>How to perfectly forward <code>auto&amp;&amp;</code> in a generic lambda?</p>