[Boost-bugs] [Boost C++ Libraries] #3226: boost::fusion sequence fails to work in boost::mpl::fold

Subject: [Boost-bugs] [Boost C++ Libraries] #3226: boost::fusion sequence fails to work in boost::mpl::fold
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-06-27 03:49:53


#3226: boost::fusion sequence fails to work in boost::mpl::fold
---------------------------------------------------+------------------------
 Reporter: Jeffrey Hellrung <jhellrung@…> | Owner:
     Type: Bugs | Status: new
Milestone: Boost 1.40.0 | Component: None
  Version: Boost 1.39.0 | Severity: Problem
 Keywords: |
---------------------------------------------------+------------------------
 The following results in a compiler error (boost 1.39, MSVC 9) at the line
 where boost::mpl::fold is applied to fusion_vector_type. Commenting this
 line out makes the code compile.

 {{{

 #include <boost/fusion/container/vector.hpp>
 #include <boost/mpl/assert.hpp>
 #include <boost/mpl/fold.hpp>
 #include <boost/mpl/placeholders.hpp>
 #include <boost/mpl/vector.hpp>
 #include <boost/type_traits/is_void.hpp>

 int main(int argc, char* argv[])
 {
     typedef boost::fusion::vector< int > fusion_vector_type;
     typedef boost::mpl::vector< int > mpl_vector_type;
     typedef boost::mpl::fold< fusion_vector_type, void, boost::mpl::_1
>::type void1_type;
     typedef boost::mpl::fold< mpl_vector_type, void, boost::mpl::_1
>::type void2_type;
     BOOST_MPL_ASSERT((boost::is_void< void2_type >));
     return 0;
 }

 }}}

 Is this a problem with boost::fusion::vector failing some requirement of
 being a boost::mpl sequence, or of boost::mpl::fold using something
 outside the stated requirements of boost::mpl sequences?

 I've attached the compiler output.

 - Jeff

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3226>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:00 UTC