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