Opened 11 years ago

Closed 10 years ago

#1317 closed Bugs (fixed)

has_xxx randomly broken in msvc

Reported by: Shunsuke Sogame <pstade.mb@…> Owned by: Aleksey Gurtovoy
Milestone: Boost 1.36.0 Component: mpl
Version: Boost Development Trunk Severity: Problem
Keywords: Cc:

Description

    #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() {}

The second assertion fails in msvc7.1 and 8.0.

Attachments (1)

boost_1_36_0-djw_has_xxx.patch (1.0 KB) - added by harris.pc@… 10 years ago.
Patch described in my message

Download all attachments as: .zip

Change History (4)

comment:1 in reply to:  description Changed 10 years ago by harris.pc@…

I hit the same problem.

This patch appears to resolve the issue for 1.36.0

I think this is an important problem, is there a central location for such patches?

Patch found at: http://lists.boost.org/Archives/boost/2008/06/138366.php

Changed 10 years ago by harris.pc@…

Patch described in my message

comment:2 Changed 10 years ago by Aleksey Gurtovoy

Status: newassigned

Fixed in the trunk (changeset:49260), to be integrated in the release branch.

comment:3 Changed 10 years ago by Aleksey Gurtovoy

Resolution: fixed
Status: assignedclosed

Merged to the release branch (changeset:49273)

Note: See TracTickets for help on using tickets.