
12 Oct
2007
12 Oct
'07
3:59 p.m.
Hi, For some reason, has_xxx fails to work in msvc-7.1 and 8.0 / Boost1.34 and HEAD. #include <boost/mpl/has_xxx.hpp> namespace my1 { BOOST_MPL_HAS_XXX_TRAIT_DEF(ppp) } #include <boost/mpl/apply.hpp> // does something bad for msvc. #include <boost/static_assert.hpp> namespace my2 { BOOST_MPL_HAS_XXX_TRAIT_DEF(ppp) } struct foo { typedef int ppp; }; BOOST_STATIC_ASSERT( my1::has_ppp< foo >::value ); // pass BOOST_STATIC_ASSERT( my2::has_ppp< foo >::value ); // failed int main() {} So Boost.Lambda and Boost.ResultOf randomly fail, because the both use has_result_type. The ticket: http://svn.boost.org/trac/boost/ticket/1317 Regards, -- Shunsuke Sogame