id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 7700,remove_if with Placeholder Expression as predicate causes instantiation of PlaceHolder Expression before argument binding in GCC 4.7.2,felipe.m.almeida@…,Kohei Takahashi," The following code instantiates meta_func >, which causes a compile error. 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). #include #include namespace mpl = boost::mpl; namespace fusion = boost::fusion; struct element { typedef mpl::false_ type; }; template struct meta_func { typedef typename T::type type; }; int main() { fusion::vector e; fusion::as_vector(fusion::remove_if >(e)); } ",Bugs,new,To Be Determined,fusion,Boost 1.52.0,Regression,,,