Since a number of bind's tests use boost.function, which is under CMT, I'll take care of it (by adding typedefs.)
Turns out that boost::function already has the typedefs in addition to the base classes for some reason. But there are two showstoppers in Boost.Test: C:\Projects\boost-git\boost\boost/test/utils/basic_cstring/compare.hpp(79): error C2143: syntax error: missing ',' before '<' and C:\Projects\boost-git\boost\boost/test/impl/framework.ipp(691): error C2039: 'random_shuffle': is not a member of 'std' that need to be fixed in order for most of the tests to even have a chance under c++latest. Boost.Test also required utility/compare_pointees to be fixed, so I did that. function/test/std_bind_cxx98.cpp also fails because of mem_fun and bind1st, and I suppose we need a Config macro to detect their absence. And we also might need a way (Config macro) to detect the absence of std::random_shuffle (or alternatively the presence of std::shuffle.) Should I merge the changes to Bind, Function and Utility to master, or do we wait for the next release for these fixes?