id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 4582,fold() doesn't work with function objects that don't support perfect forwarding,anonymous,Christopher Schmidt,"the unrolled specializations of fold() are implemented as {{{ f(f(f(state,a),b),c) }}} if f is a function object that doesn't support perfect forwarding, but only accepts ""T &"" arguments, this doesn't work. this is e.g. the case for all phoenix::bind() results: {{{ int f(int,int,int){ return 0; } int main(){ fusion::vector vec; fusion::fold(vec,0,phoenix::bind(&f,_1,_2,3)); //error } }}} AFAIK a bind() cannot support perfect forwarding and at the same time support the result_of protocol, not even for up to 2 arguments as Boost.Bind does. attached is a patch that changes that. ",Bugs,closed,To Be Determined,fusion,Boost Development Trunk,Problem,fixed,,