The inclusion of boost/asio/spawn.hpp is enough to reproduce the error. This only happens in MSVC-14.0.
#include <boost/asio/spawn.hpp>
int main(){}
D:\a\beast\boost-root\boost/asio/spawn.hpp(424): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/spawn.hpp(424): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/spawn.hpp(481): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/spawn.hpp(481): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/spawn.hpp(537): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/spawn.hpp(537): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/spawn.hpp(590): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/spawn.hpp(590): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/spawn.hpp(646): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/spawn.hpp(646): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/spawn.hpp(703): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/spawn.hpp(703): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1119): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1119): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1150): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1150): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1179): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1179): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1201): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1201): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1228): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1228): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1251): error C2066: cast to function type is illegal
D:\a\beast\boost-root\boost/asio/impl/spawn.hpp(1251): error C2955: 'boost::asio::basic_yield_context': use of class template requires template argument list
D:\a\beast\boost-root\boost/asio/spawn.hpp(188): note: see declaration of 'boost::asio::basic_yield_context'
The inclusion of
boost/asio/spawn.hpp
is enough to reproduce the error. This only happens in MSVC-14.0.