Problem with latest VS2017 update
Kojoley opened this issue · 1 comments
Kojoley commented
VS2017 version: 15.5.1
cl version: 19.12.25830.2
Fusion tests result in:
sequence\as_map.cpp(53): error C2668: 'boost::fusion::map<T,boost::fusion::pair<double,std::string>>::map': ambiguous call to overloaded function
with
[
T=boost::fusion::pair<int,char>
]
..\..\..\boost/fusion/container/map/map.hpp(99): note: could be 'boost::fusion::map<T,boost::fusion::pair<double,std::string>>::map<boost::fusion::vector<T,boost::fusion::pair<First,const char (&)[4]>>,>(boost::fusion::vector<T,boost::fusion::pair<First,const char (&)[4]>> &&)'
with
[
T=boost::fusion::pair<int,char>,
First=double
]
..\..\..\boost/fusion/container/map/map.hpp(92): note: or 'boost::fusion::map<T,boost::fusion::pair<double,std::string>>::map<boost::fusion::vector<T,boost::fusion::pair<First,const char (&)[4]>>,>(const boost::fusion::vector<T,boost::fusion::pair<First,const char (&)[4]>> &)'
with
[
T=boost::fusion::pair<int,char>,
First=double
]
..\..\..\boost/fusion/container/map/map.hpp(86): note: or 'boost::fusion::map<T,boost::fusion::pair<double,std::string>>::map<boost::fusion::vector<T,boost::fusion::pair<First,const char (&)[4]>>>(Sequence &&,boost::fusion::detail::enabler_)'
with
[
T=boost::fusion::pair<int,char>,
First=double,
Sequence=boost::fusion::vector<boost::fusion::pair<int,char>,boost::fusion::pair<double,const char (&)[4]>>
]
..\..\..\boost/fusion/container/map/map.hpp(79): note: or 'boost::fusion::map<T,boost::fusion::pair<double,std::string>>::map<boost::fusion::vector<T,boost::fusion::pair<First,const char (&)[4]>>>(Sequence &,boost::fusion::detail::enabler_)'
with
[
T=boost::fusion::pair<int,char>,
First=double,
Sequence=boost::fusion::vector<boost::fusion::pair<int,char>,boost::fusion::pair<double,const char (&)[4]>>
]
..\..\..\boost/fusion/container/map/map.hpp(72): note: or 'boost::fusion::map<T,boost::fusion::pair<double,std::string>>::map<boost::fusion::vector<T,boost::fusion::pair<First,const char (&)[4]>>>(const Sequence &,boost::fusion::detail::enabler_)'
with
[
T=boost::fusion::pair<int,char>,
First=double,
Sequence=boost::fusion::vector<boost::fusion::pair<int,char>,boost::fusion::pair<double,const char (&)[4]>>
]
sequence\as_map.cpp(53): note: while trying to match the argument list '(boost::fusion::vector<T,boost::fusion::pair<First,const char (&)[4]>>)'
with
[
T=boost::fusion::pair<int,char>,
First=double
]
sequence\as_map_assoc.cpp(64): error C2668: 'boost::fusion::map<T,boost::fusion::pair<char,char>>::map': ambiguous call to overloaded function
with
[
T=boost::fusion::pair<int,int>
]
..\..\..\boost/fusion/container/map/map.hpp(99): note: could be 'boost::fusion::map<T,boost::fusion::pair<char,char>>::map<boost::fusion::set<int,char>,>(First &&)'
with
[
T=boost::fusion::pair<int,int>,
First=boost::fusion::set<int,char>
]
..\..\..\boost/fusion/container/map/map.hpp(92): note: or 'boost::fusion::map<T,boost::fusion::pair<char,char>>::map<boost::fusion::set<int,char>,>(const First &)'
with
[
T=boost::fusion::pair<int,int>,
First=boost::fusion::set<int,char>
]
..\..\..\boost/fusion/container/map/map.hpp(86): note: or 'boost::fusion::map<T,boost::fusion::pair<char,char>>::map<boost::fusion::set<int,char>>(Sequence &&,boost::fusion::detail::enabler_)'
with
[
T=boost::fusion::pair<int,int>,
Sequence=boost::fusion::set<int,char>
]
..\..\..\boost/fusion/container/map/map.hpp(79): note: or 'boost::fusion::map<T,boost::fusion::pair<char,char>>::map<boost::fusion::set<int,char>>(Sequence &,boost::fusion::detail::enabler_)'
with
[
T=boost::fusion::pair<int,int>,
Sequence=boost::fusion::set<int,char>
]
..\..\..\boost/fusion/container/map/map.hpp(72): note: or 'boost::fusion::map<T,boost::fusion::pair<char,char>>::map<boost::fusion::set<int,char>>(const Sequence &,boost::fusion::detail::enabler_)'
with
[
T=boost::fusion::pair<int,int>,
Sequence=boost::fusion::set<int,char>
]
sequence\as_map_assoc.cpp(64): note: while trying to match the argument list '(boost::fusion::set<int,char>)'
sequence\map_copy.cpp(45): error C2440: 'return': cannot convert from 'boost::fusion::map<boost::fusion::pair<k1,T>,boost::fusion::pair<k2,T>,boost::fusion::pair<k3,T>,boost::fusion::pair<k4,T>>' to 'boost::fusion::map<boost::fusion::pair<k1,double>,boost::fusion::pair<k2,double>,boost::fusion::pair<k3,double>,boost::fusion::pair<k4,double>>'
with
[
T=int
]
sequence\map_copy.cpp(45): note: No constructor could take the source type, or constructor overload resolution was ambiguous
Kojoley commented
Appveyor have updated the VS2017 to 15.5.1 https://www.appveyor.com/updates/2017/12/12/ so if you trigger a new build you will get these errors.