Boost C++ Libraries: Ticket #5184: optional_test.cpp confuses libc++ https://svn.boost.org/trac10/ticket/5184 <p> The advised way of specialising swap is just to write: </p> <p> void swap(mytype&amp;, mytype&amp;) </p> <p> rather than: </p> <p> template&lt;&gt; void swap(mytype&amp;, mytype&amp;) </p> <p> using template&lt;&gt; confuses libc++, which uses namespace versioning. </p> <p> I don't believe these template&lt;&gt; add anything to the test, which still passes on g++ without them. The attached patch removes them from optional_test.cpp </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5184 Trac 1.4.3 Chris Jefferson Sun, 13 Feb 2011 22:04:57 GMT attachment set https://svn.boost.org/trac10/ticket/5184 https://svn.boost.org/trac10/ticket/5184 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">optional_test.cpp.patch</span> </li> </ul> <p> Patch to libs/optional/test/optional_test.cpp </p> Ticket Chris Jefferson Tue, 15 Feb 2011 22:09:01 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/5184#comment:1 https://svn.boost.org/trac10/ticket/5184#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">invalid</span> </li> </ul> <p> Actually, this has turned out to be a compiler bug in clang which will get fixed, so there is no need for a patch. </p> Ticket