Starting with Visual Studio 2013 we are not able to compile any code that contains boost::fusion. (boost version 1.55.0)
I reduced the problem down to this simple program. Here I get a bunch of compile errors like:
boost/fusion/container/generation/make_cons.hpp(23): error C3520: 'T' : parameter pack must be expanded in this context
Going to the location, there is this code:
template <typename Car, typename Cdr = nil_>
typedef cons<typename detail::as_fusion_element<Car>::type, Cdr> type; <------ This is the mentioned line 23
So far it is surprising to me that the error message refers to T, even there is no T in the whole construct. The message does not help further to see, if this is a problem in the compiler or in boost.
Even with the latest Nov 2013 CTP, it produces the same error messages.