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