title: Error when using parameter pack with std::function
body: <p>I have this code:</p>
  
  <pre><code>#include &lt;functional&gt;
  template&lt;class T, class U&gt;
  void f(std::function&lt;T(U)&gt; g) {};
  int main() {
      auto h = [](int x) {return x;};
      f&lt;int, int&gt;(h);
  }
  </code></pre>
  
  <p>This code works. But when I use parameter pack (code below), it fails... why?</p>
  
  <pre><code>#include &lt;functional&gt;
  template&lt;class T, class...U&gt;
  void f(std::function&lt;T(U...)&gt; g) {};
  int main() {
      auto h = [](int x) {return x;};
      f&lt;int, int&gt;(h);
  }
  </code></pre>
  
  <p>Using <code>std::function&lt;int(int)&gt;</code> instead of <code>auto</code> made it work with parameter pack.</p>