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