Opened 9 years ago
Closed 8 years ago
#9130 closed Bugs (worksforme)
Boost Fusion parameter pack error in VS 2013 RC
Reported by: | Owned by: | Joel de Guzman | |
---|---|---|---|
Milestone: | To Be Determined | Component: | fusion |
Version: | Boost 1.54.0 | Severity: | Showstopper |
Keywords: | Cc: | flast@… |
Description
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;
}
Change History (4)
comment:3 by , 8 years ago
I could't confirm this problem with VS2013 Update4 and develop branch. So, we can close this one.
comment:4 by , 8 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |