Assignment in lambda : <p>I'm looking at the following (presumably C++14) piece of code</p>

<pre><code>auto min_on = [](auto&amp;&amp; f) {
  return [f=decltype(f)(f)](auto&amp;&amp; arg0, auto&amp;&amp;...args) {
    // call your function here, using decltype(args)(args) to perfect forward
  };
}
</code></pre>

<p>what is the weird assignment in the lambda capture list? I've never seen an assignment in a capture list</p>

<pre><code>f=decltype(f)(f)
</code></pre>

<p>How does this work?</p>
