Index: libs/utility/test/result_of_test.cpp =================================================================== --- libs/utility/test/result_of_test.cpp (revision 68315) +++ libs/utility/test/result_of_test.cpp (working copy) @@ -98,6 +98,11 @@ unsigned int operator()(); unsigned short operator()() volatile; const unsigned short operator()() const volatile; +#if !defined(BOOST_NO_RVALUE_REFERENCES) + short operator()(int&&); + int operator()(int&); + long operator()(int const&); +#endif }; template @@ -108,6 +113,11 @@ unsigned int operator()(); unsigned short operator()() volatile; const unsigned short operator()() const volatile; +#if !defined(BOOST_NO_RVALUE_REFERENCES) + short operator()(int&&); + int operator()(int&); + long operator()(int const&); +#endif }; struct X {}; @@ -232,7 +242,15 @@ BOOST_STATIC_ASSERT((is_same(double)>::type, short>::value)); BOOST_STATIC_ASSERT((is_same(void)>::type, unsigned short>::value)); BOOST_STATIC_ASSERT((is_same(void)>::type, const unsigned short>::value)); +#if !defined(BOOST_NO_RVALUE_REFERENCES) + BOOST_STATIC_ASSERT((is_same::type, short>::value)); + BOOST_STATIC_ASSERT((is_same::type, int>::value)); + BOOST_STATIC_ASSERT((is_same::type, long>::value)); + BOOST_STATIC_ASSERT((is_same(int&&)>::type, short>::value)); + BOOST_STATIC_ASSERT((is_same(int&)>::type, int>::value)); + BOOST_STATIC_ASSERT((is_same(int const&)>::type, long>::value)); #endif +#endif return 0; }