Boost logo

Boost :

From: shunsuke (pstade.mb_at_[hidden])
Date: 2007-10-12 11:59:56


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

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk