title: std::is_constructible on incomplete types
body: <p>I have the following code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  class A;
  
  int main()
  {
      std::cout &lt;&lt; std::is_constructible&lt;A&gt;::value &lt;&lt; std::endl;
  }
  </code></pre>
  
  <p>When I use <a href="https://godbolt.org/z/81kWbF" rel="noreferrer">GCC 8.3</a>, this code compiles. However, when I use <a href="https://godbolt.org/z/wd5-is" rel="noreferrer">Clang 8.0</a>, I get a compilation error that incomplete types cannot be used in type traits.</p>
  
  <p>Which one is correct? Am I allowed to use <code>is_constructible</code> on an incomplete type (with an expected value of <code>false</code>), or am I not allowed to?</p>