title: Using SFINAE with generic lambdas
body: <p>Can generic lambdas take advantage of the <em>"Substitution Failure Is Not An Error"</em> rule ? Example </p>
  
  <pre><code>auto gL = 
      [](auto&amp;&amp; func, auto&amp;&amp; param1, auto&amp;&amp;... params) 
          -&gt; enable_if_t&lt; is_integral&lt;
              std::decay_t&lt;decltype(param1)&gt;
          &gt;::value&gt;
      {
          // ...
      };
  
  auto gL =  
       [](auto&amp;&amp; func, auto&amp;&amp; param1, auto&amp;&amp;... params) 
          -&gt; enable_if_t&lt; !is_integral&lt;
              std::decay_t&lt;decltype(param1)&gt;
          &gt;::value&gt;
      {
          // ...
      };
  </code></pre>
  
  <p>Are there any workarounds or plans to include this in the language ? Also since generic lambdas are templated function objects under the hood isn't it a bit odd that this can't be done ? </p>