[Boost-bugs] [Boost C++ Libraries] #9130: Boost Fusion parameter pack error in VS 2013 RC

Subject: [Boost-bugs] [Boost C++ Libraries] #9130: Boost Fusion parameter pack error in VS 2013 RC
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-09-18 18:54:33


#9130: Boost Fusion parameter pack error in VS 2013 RC
------------------------------+-------------------------
 Reporter: dain.bray@… | Owner: djowel
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: fusion
  Version: Boost 1.54.0 | Severity: Showstopper
 Keywords: |
------------------------------+-------------------------
 fusion::map does not compile in VS 2013 RC.

  If gives these errors:

 error C3520: 'T' : parameter pack must be expanded in this context
 c:\depo\common\third_party\boost\boost\fusion\container\generation\make_cons.hpp
 39
 error C3520: 'T' : parameter pack must be expanded in this context
 c:\depo\common\third_party\boost\boost\fusion\container\generation\detail\preprocessed\make_list10.hpp
 error C3520: 'T' : parameter pack must be expanded in this context
 c:\depo\common\third_party\boost\boost\fusion\container\generation\detail\preprocessed\make_vector10.hpp
 error C3520: 'T' : parameter pack must be expanded in this context
 c:\depo\common\third_party\boost\boost\fusion\container\generation\detail\preprocessed\make_set10.hpp

 Here is the complete template callstack for one of them(it is not very
 helpful sorry).

 c:\depo\common\third_party\boost\boost\fusion\container\generation\detail\preprocessed\make_list10.hpp(35):
 error C3520: 'T' : parameter pack must be expanded in this context
 1>
 c:\depo\common\third_party\boost\boost\fusion\container\generation\detail\preprocessed\make_list10.hpp(36)
 : see reference to class template instantiation
 'boost::fusion::result_of::make_list<T0,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_,boost::fusion::void_>'
 being compiled

  The example I am posting gives 66 of these errors.


  Here is a minimal repro test.

 #include <boost/fusion/container.hpp>
 #include <boost/fusion/algorithm.hpp>
 #include <boost/fusion/include/algorithm.hpp>
 #include <boost/fusion/sequence.hpp>
 #include <boost/fusion/include/sequence.hpp>
 #include <boost/fusion/support/pair.hpp>
 #include <boost/fusion/include/pair.hpp>

 namespace fs = boost::fusion;

 namespace Key
 {
         struct prep_table{};
         struct draw_single{};
 };

 int main()
 {
         fs::map<std::pair<Key::prep_table, float>,
 std::pair<Key::draw_single, int>> Blah;

         return 0;
 }

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/9130>
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:14 UTC