Boost C++ Libraries: Ticket #9249: BOOST_MPL_ASSERT is broken in VC12 (VC++2013RC) https://svn.boost.org/trac10/ticket/9249 <p> Code: </p> <pre class="wiki">#include &lt;boost/mpl/assert.hpp&gt; struct true_type { static const bool value = true; }; struct pred { typedef true_type type; }; static_assert(pred::type::value == true, ""); // ok BOOST_MPL_ASSERT((pred)); // error (line #12) </pre><p> Compiler output: </p> <pre class="wiki">&gt; cl /It:\_lib\boost\1_55_0b1 Source.cpp Microsoft (R) C/C++ Optimizing Compiler Version 18.00.20827.3 for x86 Copyright (C) Microsoft Corporation. All rights reserved. Source.cpp t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(149) : error C2143: syntax error : missing ';' before '&lt;' t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(153) : see reference to class template instantiation 'boost::mpl::eval_assert&lt;Pred&gt;' being compiled t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(149) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(152) : error C2238: unexpected token(s) preceding ';' t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(159) : error C2143: syntax error : missing ';' before '&lt;' t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(163) : see reference to class template instantiation 'boost::mpl::eval_assert_not&lt;Pred&gt;' being compiled t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(159) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int t:\_lib\boost\1_55_0b1\boost/mpl/assert.hpp(162) : error C2238: unexpected token(s) preceding ';' Source.cpp(12) : error C2039: 'assert_arg' : is not a member of 'boost::mpl' Source.cpp(12) : error C3861: 'assert_arg': identifier not found </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/9249 Trac 1.4.3 abyx@… Tue, 15 Oct 2013 06:30:54 GMT <link>https://svn.boost.org/trac10/ticket/9249#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9249#comment:1</guid> <description> <p> Well, it seems it was already fixed in trunk.<br /> Sorry for false alert. </p> </description> <category>Ticket</category> </item> <item> <author>raad@…</author> <pubDate>Tue, 15 Oct 2013 08:28:26 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9249#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9249#comment:2</guid> <description> <p> It was fixed in <a class="changeset" href="https://svn.boost.org/trac10/changeset/84443" title="Make BOOST_WORKAROUND consistent.">r84443</a> in May, but that won't make any release compatible with VS2013. Can someone please merge that revision to the release branch? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Daniel James</dc:creator> <pubDate>Fri, 21 Mar 2014 08:41:38 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/9249#comment:3 https://svn.boost.org/trac10/ticket/9249#comment:3 <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">fixed</span> </li> </ul> <p> This was eventually merged in <a class="changeset" href="https://svn.boost.org/trac10/changeset/86514" title="Merge 84443 from trunk, to fix mpl assert failures for msvc in many ...">r86514</a>. </p> Ticket