Boost C++ Libraries: Ticket #7700: remove_if with Placeholder Expression as predicate causes instantiation of PlaceHolder Expression before argument binding in GCC 4.7.2 https://svn.boost.org/trac10/ticket/7700 <p> The following code instantiates meta_func&lt;mpl::arg&lt;1&gt; &gt;, which causes a compile error. </p> <p> The problem seems to be with the mpl::not_ which involves the predicate with remove_if. The same error doesn't happen with filter_if. The equivalent code in MPL-only doesn't cause the same error (mpl::remove_if). </p> <p> #include &lt;boost/fusion/include/as_vector.hpp&gt; #include &lt;boost/fusion/include/remove_if.hpp&gt; </p> <p> namespace mpl = boost::mpl; namespace fusion = boost::fusion; </p> <p> struct element { </p> <blockquote> <p> typedef mpl::false_ type; </p> </blockquote> <p> }; </p> <p> template &lt;typename T&gt; struct meta_func { </p> <blockquote> <p> typedef typename T::type type; </p> </blockquote> <p> }; </p> <p> int main() { </p> <blockquote> <p> fusion::vector&lt;element, element&gt; e; fusion::as_vector(fusion::remove_if&lt;meta_func&lt;mpl::_1&gt; &gt;(e)); </p> </blockquote> <p> } </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7700 Trac 1.4.3 felipe.m.almeida@… Thu, 15 Nov 2012 15:49:25 GMT attachment set https://svn.boost.org/trac10/ticket/7700 https://svn.boost.org/trac10/ticket/7700 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">test-case.cpp</span> </li> </ul> <p> Failing test case </p> Ticket Kohei Takahashi Fri, 06 Jul 2018 16:46:38 GMT owner changed https://svn.boost.org/trac10/ticket/7700#comment:1 https://svn.boost.org/trac10/ticket/7700#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Joel de Guzman</span> to <span class="trac-author">Kohei Takahashi</span> </li> </ul> Ticket