id summary reporter owner description type status milestone component version severity resolution keywords cc 2127 function_equal should work with nested binds Gareth Sylvester-Bradley Peter Dimov "http://lists.boost.org/Archives/boost/2008/07/139992.php To fix the compiler error in the program below, add the following (e.g. to boost/bind.hpp) - {{{ namespace boost { namespace _bi { template bool ref_compare( bind_t const & a, bind_t const & b, long ) { return a.compare(b); } } } }}} -- main.cpp -- {{{ #include #include void f( int ) {} int g( int i ) { return i+5; } template < typename F > bool self_equal( F f_ ) { return function_equal( f_, f_ ); } int main( int argc, char * const argv[] ) { self_equal( boost::bind( f, _1 ) ); // OK self_equal( boost::bind( g, _1 ) ); // OK self_equal( boost::bind( f, boost::bind( g, _1 ) ) ); // compiler error return 0; } }}} " Bugs closed Boost 1.39.0 bind Boost 1.35.0 Problem fixed