Boost C++ Libraries: Ticket #10295: Boost Type Erasure does't compile on Visual Studio 2013 https://svn.boost.org/trac10/ticket/10295 <p> Even the most trivial example of usage doesn't compile: </p> <p> <a href="http://www.boost.org/doc/libs/1_56_0_b1/libs/type_erasure/example/basic.cpp">http://www.boost.org/doc/libs/1_56_0_b1/libs/type_erasure/example/basic.cpp</a> </p> <p> The error is "unkown identifier: type" or something like that, and is present in various headers when calling something like "typedef typename ::boost::type_erasure::detail::" .. and obtatining the type via "::type". There may be also other problems </p> <p> I would gladly help if possible, the library seems good </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10295 Trac 1.4.3 miticodonati@… Sun, 03 Aug 2014 12:00:24 GMT <link>https://svn.boost.org/trac10/ticket/10295#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10295#comment:1</guid> <description> <p> Replying to <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/10295" title="#10295: Bugs: Boost Type Erasure does't compile on Visual Studio 2013 (closed: fixed)">miticodonati@…</a>: </p> <blockquote class="citation"> <p> Even the most trivial example of usage doesn't compile: </p> <p> <a href="http://www.boost.org/doc/libs/1_56_0_b1/libs/type_erasure/example/basic.cpp">http://www.boost.org/doc/libs/1_56_0_b1/libs/type_erasure/example/basic.cpp</a> </p> <p> The error is "unkown identifier: type" or something like that, and is present in various headers when calling something like "typedef typename ::boost::type_erasure::detail::" .. and obtatining the type via "::type". There may be also other problems </p> <p> I would gladly help if possible, the library seems good </p> </blockquote> <p> EDIT: Adding #define BOOST_NO_CXX11_VARIADIC_TEMPLATES seems to solve the issue </p> </description> <category>Ticket</category> </item> <item> <author>burkhard.daniel@…</author> <pubDate>Tue, 26 Aug 2014 16:17:55 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/10295#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10295#comment:2</guid> <description> <p> I'm having the same problem. The workaround with BOOST_NO_CXX11_VARIADIC_TEMPLATES is ok-ish, but I'd rather see this work out of the box. Isn't MSVC2013 supposed to fully support variadic templates? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Fri, 27 Feb 2015 22:43:46 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/10295#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10295#comment:3</guid> <description> <p> Support for variadic templates in VS2013 is very buggy. I did fix this, but it appears that I failed to push the merge to master. </p> </description> <category>Ticket</category> </item> <item> <author>Martina Fedyszynová <m.fedyszynova@…></author> <pubDate>Sun, 10 May 2015 12:05:19 GMT</pubDate> <title>attachment set https://svn.boost.org/trac10/ticket/10295 https://svn.boost.org/trac10/ticket/10295 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">type_erasure.patch</span> </li> </ul> <p> type_erasure patch for VS2013 (boost 1.58) </p> Ticket Martina Fedyszynová <m.fedyszynova@…> Sun, 10 May 2015 12:08:24 GMT attachment set https://svn.boost.org/trac10/ticket/10295 https://svn.boost.org/trac10/ticket/10295 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">type_erasure.2.patch</span> </li> </ul> <p> type_erasure patch for VS2013 (boost 1.58) </p> Ticket Martina Fedyszynová <m.fedyszynova@…> Sun, 10 May 2015 12:49:22 GMT <link>https://svn.boost.org/trac10/ticket/10295#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10295#comment:4</guid> <description> <p> I've managed to patch the library for VS2013 to bring back support for variadic templates. Almost all examples and tests build successfully - except for: </p> <ul><li><em>printf.cpp</em> example - asserts that any_printable needs the relaxed concept (I believe it is a bug in the example) </li><li><em>test_free.cpp</em> - this test fails to build. VS2013 compiler seems to require that all overloaded declarations of injected free functions are seen before the first instantiation. Therefore when all the BOOST_TYPE_ERASURE_FREE(...) lines are moved above all the test cases, the test runs ok. </li></ul><p> The patched <em>callable.hpp</em> also fixes overloaded callable concepts (<em>multifunction.cpp</em> example) which failed to built in VS2013. A bug in the compiler causes ambiguities between the overloaded function call operators imported via using declarations. </p> <p> Sorry for double post of the attachment, the upload seemed stuck and the file didn't appear so I tried it again... </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Sat, 13 Feb 2016 21:05:28 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/10295#comment:5 https://svn.boost.org/trac10/ticket/10295#comment:5 <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> Ticket