Boost C++ Libraries: Ticket #11267: Nested boost::fusion::make_list fails to compile under boost 1.58.0 https://svn.boost.org/trac10/ticket/11267 <p> The following code compiles just fine under boost 1.56.0 (std=c++11), but fails to compile under boost-1.58.0 with either clang++-3.6 or g++-4.9.2 </p> <pre class="wiki">#include &lt;boost/fusion/container/generation/make_list.hpp&gt; #include &lt;boost/fusion/algorithm/iteration/for_each.hpp&gt; #include &lt;iostream&gt; template &lt;typename T&gt; void Handle(const T&amp; t); template &lt;typename ... T&gt; void Handle(const boost::fusion::list&lt;T...&gt;&amp; x); struct CallFunctor { template &lt;typename T&gt; void operator()(const T&amp; t) const { Handle(t); } }; template &lt;typename T&gt; void Handle(const T&amp; t) { std::cout &lt;&lt; t &lt;&lt; std::endl; } template &lt;typename ... T&gt; void Handle(const boost::fusion::list&lt;T...&gt;&amp; x) { boost::fusion::for_each(x, CallFunctor{}); } template &lt;typename List&gt; void PrintList(const List&amp; list) { boost::fusion::for_each(list, CallFunctor{}); } int main() { PrintList( boost::fusion::make_list( std::string("x"), 4, 6, boost::fusion::make_list(23.0, std::string("rar")))); return 0; } </pre><p> There appears to be a compile error with the use of boost::is_convertible inside boost::enable_if in boost/fusion/container/list/cons.hpp:79 </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11267 Trac 1.4.3 Kohei Takahashi <flast@…> Tue, 05 May 2015 06:39:04 GMT <link>https://svn.boost.org/trac10/ticket/11267#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11267#comment:1</guid> <description> <p> Reduced. </p> <div class="wiki-code"><div class="code"><pre><span class="cp">#include</span> <span class="cpf">&lt;boost/fusion/container/generation/make_list.hpp&gt;</span><span class="cp"></span> <span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span> <span class="n">boost</span><span class="o">::</span><span class="n">fusion</span><span class="o">::</span><span class="n">make_list</span><span class="p">(</span><span class="n">boost</span><span class="o">::</span><span class="n">fusion</span><span class="o">::</span><span class="n">make_list</span><span class="p">(</span><span class="mi">42</span><span class="p">));</span> <span class="p">}</span> </pre></div></div><p> and it relates to constexpr ctor since compiles with -DBOOST_NO_CXX11_CONSTEXPR. </p> </description> <category>Ticket</category> </item> <item> <author>Kohei Takahashi <flast@…></author> <pubDate>Fri, 12 Jun 2015 06:38:44 GMT</pubDate> <title>milestone changed https://svn.boost.org/trac10/ticket/11267#comment:2 https://svn.boost.org/trac10/ticket/11267#comment:2 <ul> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.59.0</span> </li> </ul> <p> Fixed by <a class="ext-link" href="https://github.com/boostorg/fusion/pull/79"><span class="icon">​</span>https://github.com/boostorg/fusion/pull/79</a>. </p> Ticket Joel de Guzman Fri, 12 Jun 2015 06:50:37 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/11267#comment:3 https://svn.boost.org/trac10/ticket/11267#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> Ticket