Boost C++ Libraries: Ticket #12467: [regression] clang 3.9 and trunk fail to compile small_vector (ICE) https://svn.boost.org/trac10/ticket/12467 <p> <a class="ext-link" href="https://llvm.org/bugs/show_bug.cgi?id=29091"><span class="icon">​</span>https://llvm.org/bugs/show_bug.cgi?id=29091</a> </p> <p> Minimal example: </p> <p> #include &lt;boost/container/small_vector.hpp&gt; #include &lt;type_traits&gt; </p> <p> using boost::container::small_vector; </p> <p> struct A : small_vector&lt;int, 3&gt; { </p> <blockquote> <p> using vector_t = small_vector&lt;int, 3&gt;; using vector_t::vector_t; using vector_t::operator=; </p> </blockquote> <p> }; </p> <p> template &lt;typename P&gt; inline void foo(P) { </p> <blockquote> <p> small_vector&lt;P, 3&gt; pls; pls.push_back(P{}); </p> </blockquote> <p> } </p> <p> int main() { </p> <blockquote> <p> foo(A{}); return 0; </p> </blockquote> <p> } </p> <p> Results in an internal compiler error. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12467 Trac 1.4.3 James E. King, III Wed, 14 Nov 2018 13:31:56 GMT <link>https://svn.boost.org/trac10/ticket/12467#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12467#comment:1</guid> <description> <p> Comment from the llvm issue: </p> <p> But I would question why boost is using <code>__has_nothrow_copy</code>. That trait is essentially useless; <code>__is_nothrow_constructible</code> should be used instead. </p> </description> <category>Ticket</category> </item> </channel> </rss>