title: Deduction of result type of callable
body: <p>I try to deduce the type of callable template parameter, unfortunately without success:</p>
  
  <pre><code>template&lt;typename callable, typename T_out &gt;
  class A
  {};
  
  template&lt;typename callable&gt;
  auto make_A( callable f )
  {
    return A&lt;callable, typename std::result_of_t&lt;callable&gt; &gt;{ f };
  }
  
  int main()
  {
    make_A( []( float f ){ return f;} );
  }
  </code></pre>
  
  <p>The code above causes the following error:</p>
  
  <pre><code>error: implicit instantiation of undefined template 'std::__1::result_of&lt;(lambda at /Users/arirasch/WWU/dev/xcode/tests/tests/main.cpp:31:11)&gt;'
  template &lt;class _Tp&gt; using result_of_t = typename result_of&lt;_Tp&gt;::type;
  </code></pre>
  
  <p>Does anyone know how to fix it?</p>
  
  <p>Many thanks in advance.</p>