Hi Boost Users,
I am building Boost 1.72.0 in 64-bit mode with the flag /std:c++latest
using Visual Studio 2019 16.4.2 and I am encountering the following
issues:
.\boost/asio/async_result.hpp(44): error C2062: type 'bool'
unexpected
.\boost/asio/async_result.hpp(45): error C2143: syntax error: missing ';'
before '{'
.\boost/asio/async_result.hpp(45): error C2447: '{': missing function
header (old-style formal list?)
.\boost/asio/async_result.hpp(56): error C7568: argument list missing after
assumed function template 'callable_with'
.\boost/asio/async_result.hpp(58): note: see reference to class template
instantiation
'boost::asio::detail::is_completion_handler_for<T,R(Args...)>' being
compiled
.\boost/asio/async_result.hpp(56): error C2059: syntax error: '>'
.\boost/asio/async_result.hpp(57): error C3770: 'unknown-type': is not a
valid base class
.\boost/asio/async_result.hpp(63): error C2062: type 'bool'
unexpected
.\boost/asio/async_result.hpp(64): error C2065: 'T': undeclared
identifier
.\boost/asio/async_result.hpp(64): error C2923:
'boost::asio::detail::is_completion_signature': 'T' is not a valid template type
argument for parameter 'T'
.\boost/asio/async_result.hpp(64): error C2955:
'boost::asio::detail::is_completion_signature': use of class template requires
template argument list
.\boost/asio/async_result.hpp(34): note: see declaration of
'boost::asio::detail::is_completion_signature'
.\boost/asio/async_result.hpp(69): error C2061: syntax error: identifier
'completion_signature'
.\boost/asio/async_result.hpp(70): error C2062: type 'bool'
unexpected
.\boost/asio/async_result.hpp(71): error C2065: 'T': undeclared
identifier
.\boost/asio/async_result.hpp(71): error C2065: 'Signature': undeclared
identifier
.\boost/asio/async_result.hpp(71): error C2923:
'boost::asio::detail::is_completion_handler_for': 'T' is not a valid template
type argument for parameter 'T'
.\boost/asio/async_result.hpp(71): error C2923:
'boost::asio::detail::is_completion_handler_for': 'Signature' is not a valid
template type argument for parameter 'Signature'
.\boost/asio/async_result.hpp(71): error C2955:
'boost::asio::detail::is_completion_handler_for': use of class template requires
template argument list
.\boost/asio/async_result.hpp(50): note: see declaration of
'boost::asio::detail::is_completion_handler_for'
.\boost/asio/async_result.hpp(105): error C2039: 'completion_signature': is
not a member of 'boost::asio'
.\boost/asio/async_result.hpp(25): note: see declaration of
'boost::asio'
.\boost/asio/async_result.hpp(105): error C2061: syntax error: identifier
'completion_signature'
.\boost/asio/async_result.hpp(144): error C2061: syntax error: identifier
'completion_handler_for'
.\boost/asio/async_result.hpp(190): note: see reference to class template
instantiation 'boost::asio::async_result<CompletionToken>' being
compiled
.\boost/asio/async_result.hpp(144): error C2988: unrecognizable template
declaration/definition
.\boost/asio/async_result.hpp(144): error C2059: syntax error: ','
.\boost/asio/async_result.hpp(150): error C2334: unexpected token(s)
preceding '{'; skipping apparent function body
.\boost/asio/async_result.hpp(194): error C2039: 'completion_signature': is
not a member of 'boost::asio'
.\boost/asio/async_result.hpp(25): note: see declaration of
'boost::asio'
.\boost/asio/async_result.hpp(194): error C2061: syntax error: identifier
'completion_signature'
.\boost/asio/async_result.hpp(195): error C2065: 'Signature': undeclared
identifier
.\boost/asio/async_result.hpp(196): error C2977:
'boost::asio::async_result': too many template arguments
.\boost/asio/async_result.hpp(107): note: see declaration of
'boost::asio::async_result'
.\boost/asio/async_result.hpp(198): error C2913: explicit specialization;
'boost::asio::async_result' is not a specialization of a class template
.\boost/asio/async_result.hpp(205): error C2039: 'completion_signature': is
not a member of 'boost::asio'
.\boost/asio/async_result.hpp(25): note: see declaration of
'boost::asio'
.\boost/asio/async_result.hpp(205): error C2061: syntax error: identifier
'completion_signature'
.\boost/asio/async_result.hpp(211): error C2065: 'Signature': undeclared
identifier
.\boost/asio/async_result.hpp(251): note: see reference to class template
instantiation 'boost::asio::async_completion<CompletionToken>' being
compiled
.\boost/asio/async_result.hpp(250): error C2065: 'Signature': undeclared
identifier
.\boost/asio/async_result.hpp(250): error C2955:
'boost::asio::async_result': use of class template requires template argument
list
.\boost/asio/async_result.hpp(195): note: see declaration of
'boost::asio::async_result'
.\boost/asio/async_result.hpp(258): error C2955:
'boost::asio::async_result': use of class template requires template argument
list
.\boost/asio/async_result.hpp(195): note: see declaration of
'boost::asio::async_result'
.\boost/asio/async_result.hpp(259): note: see reference to class template
instantiation
'boost::asio::detail::async_result_helper<CompletionToken,Signature>'
being compiled
.\boost/asio/async_result.hpp(288): error C2672:
'boost::asio::detail::async_result_initiate_memfn_helper': no matching
overloaded function found
.\boost/asio/async_result.hpp(292): note: see reference to class template
instantiation
'boost::asio::detail::async_result_has_initiate_memfn<CompletionToken,Signature>'
being compiled
.\boost/asio/async_result.hpp(290): error C3206:
'boost::asio::detail::async_result_initiate_memfn_helper': invalid template
argument for 'T', missing template argument list on class template
'boost::asio::async_result'
.\boost/asio/async_result.hpp(281): note: see declaration of
'boost::asio::detail::async_result_initiate_memfn_helper'
.\boost/asio/async_result.hpp(290): error C3206:
'boost::asio::detail::async_result_initiate_memfn_helper': invalid template
argument for '<unnamed-symbol>', missing template argument list on class
template 'boost::asio::async_result'
.\boost/asio/async_result.hpp(278): note: see declaration of
'boost::asio::detail::async_result_initiate_memfn_helper'
.\boost/asio/async_result.hpp(350): error C2039: 'completion_signature': is
not a member of 'boost::asio'
.\boost/asio/async_result.hpp(25): note: see declaration of
'boost::asio'
.\boost/asio/async_result.hpp(350): error C2061: syntax error: identifier
'completion_signature'
.\boost/asio/async_result.hpp(353): error C2065: 'Signature': undeclared
identifier
.\boost/asio/async_result.hpp(353): error C2923:
'boost::asio::detail::async_result_has_initiate_memfn': 'Signature' is not a
valid template type argument for parameter 'Signature'
.\boost/asio/async_result.hpp(354): error C2760: syntax error: unexpected
token '>', expected 'expression'
.\boost/asio/async_result.hpp(359): error C2065: 'Initiation': undeclared
identifier
.\boost/asio/async_result.hpp(359): error C2065: 'initiation': undeclared
identifier
.\boost/asio/async_result.hpp(360): error C2065: 'token': undeclared
identifier
.\boost/asio/async_result.hpp(361): error C2065: 'Args': undeclared
identifier
.\boost/asio/async_result.hpp(361): warning C4346:
'boost::asio::detail::async_result_has_initiate_memfn::value': dependent name is
not a type
.\boost/asio/async_result.hpp(361): note: prefix with 'typename' to
indicate a type
.\boost/asio/async_result.hpp(361): error C2988: unrecognizable template
declaration/definition
.\boost/asio/async_result.hpp(361): error C2059: syntax error: '...'
.\boost/asio/async_result.hpp(362): error C2143: syntax error: missing ';'
before '{'
.\boost/asio/async_result.hpp(362): error C2447: '{': missing function
header (old-style formal list?)
.\boost/asio/async_result.hpp(370): error C2039: 'completion_signature': is
not a member of 'boost::asio'
.\boost/asio/async_result.hpp(25): note: see declaration of
'boost::asio'
.\boost/asio/async_result.hpp(370): error C2061: syntax error: identifier
'completion_signature'
.\boost/asio/async_result.hpp(373): error C2065: 'Signature': undeclared
identifier
.\boost/asio/async_result.hpp(373): error C2923:
'boost::asio::detail::async_result_has_initiate_memfn': 'Signature' is not a
valid template type argument for parameter 'Signature'
.\boost/asio/async_result.hpp(374): error C2065: 'Signature': undeclared
identifier
.\boost/asio/async_result.hpp(375): error C2065: 'Initiation': undeclared
identifier
.\boost/asio/async_result.hpp(375): error C2065: 'initiation': undeclared
identifier
.\boost/asio/async_result.hpp(376): error C2065: 'token': undeclared
identifier
.\boost/asio/async_result.hpp(377): error C2065: 'Args': undeclared
identifier
.\boost/asio/async_result.hpp(377): warning C4346:
'boost::asio::detail::async_result_has_initiate_memfn::value': dependent name is
not a type
.\boost/asio/async_result.hpp(377): note: prefix with 'typename' to
indicate a type
.\boost/asio/async_result.hpp(377): error C2988: unrecognizable template
declaration/definition
.\boost/asio/async_result.hpp(377): error C2059: syntax error: '...'
.\boost/asio/async_result.hpp(378): error C2143: syntax error: missing ';'
before '{'
.\boost/asio/async_result.hpp(378): error C2447: '{': missing function
header (old-style formal list?)
.\boost/asio/async_result.hpp(483): error C7568: argument list missing
after assumed function template 'completion_handler_for'
.\boost/asio/async_result.hpp(487): note: see reference to class template
instantiation 'boost::asio::detail::initiation_archetype<Signature>' being
compiled
.\boost/asio/async_result.hpp(484): error C2061: syntax error: identifier
'CompletionHandler'
.\boost/asio/async_result.hpp(491): error C2061: syntax error: identifier
'completion_signature'
.\boost/asio/async_result.hpp(492): error C2062: type 'bool'
unexpected
.\boost/asio/async_result.hpp(493): error C2143: syntax error: missing ';'
before '{'
.\boost/asio/async_result.hpp(493): error C2447: '{': missing function
header (old-style formal list?)
.\boost/asio/post.hpp(56): error C2039: 'completion_token_for': is not a
member of 'boost::asio'
.\boost/asio/post.hpp(27): note: see declaration of 'boost::asio'
.\boost/asio/post.hpp(56): error C2061: syntax error: identifier
'completion_token_for'
.\boost/asio/post.hpp(56): error C2988: unrecognizable template
declaration/definition
.\boost/asio/post.hpp(56): error C2059: syntax error: '>'
.\boost/asio/post.hpp(94): error C2039: 'completion_token_for': is not a
member of 'boost::asio'
.\boost/asio/post.hpp(27): note: see declaration of 'boost::asio'
.\boost/asio/post.hpp(94): error C2061: syntax error: identifier
'completion_token_for'
.\boost/asio/post.hpp(95): error C2988: unrecognizable template
declaration/definition
.\boost/asio/post.hpp(95): error C2059: syntax error: '>'
.\boost/asio/post.hpp(107): error C2039: 'completion_token_for': is not a
member of 'boost::asio'
.\boost/asio/post.hpp(27): note: see declaration of 'boost::asio'
.\boost/asio/post.hpp(107): error C2061: syntax error: identifier
'completion_token_for'
.\boost/asio/post.hpp(108): error C2988: unrecognizable template
declaration/definition
.\boost/asio/post.hpp(108): error C2059: syntax error: '>'
.\boost/asio/impl/post.hpp(81): error C2039: 'completion_token_for': is not
a member of 'boost::asio'
.\boost/asio/impl/post.hpp(26): note: see declaration of
'boost::asio'
.\boost/asio/impl/post.hpp(81): error C2061: syntax error: identifier
'completion_token_for'
.\boost/asio/impl/post.hpp(81): error C2988: unrecognizable template
declaration/definition
.\boost/asio/impl/post.hpp(81): error C2059: syntax error: '>'
.\boost/asio/impl/post.hpp(84): error C2143: syntax error: missing ';'
before '{'
.\boost/asio/impl/post.hpp(84): error C2447: '{': missing function header
(old-style formal list?)
.\boost/asio/impl/post.hpp(90): error C2039: 'completion_token_for': is not
a member of 'boost::asio'
.\boost/asio/impl/post.hpp(26): note: see declaration of
'boost::asio'
.\boost/asio/impl/post.hpp(90): error C2061: syntax error: identifier
'completion_token_for'
.\boost/asio/impl/post.hpp(90): error C2988: unrecognizable template
declaration/definition
.\boost/asio/impl/post.hpp(90): error C2059: syntax error: '>'
.\boost/asio/impl/post.hpp(94): error C2143: syntax error: missing ';'
before '{'
.\boost/asio/impl/post.hpp(94): error C2447: '{': missing function header
(old-style formal list?)
.\boost/asio/impl/post.hpp(100): error C2039: 'completion_token_for': is
not a member of 'boost::asio'
.\boost/asio/impl/post.hpp(26): note: see declaration of
'boost::asio'
.\boost/asio/impl/post.hpp(100): error C2061: syntax error: identifier
'completion_token_for'
.\boost/asio/impl/post.hpp(100): error C2988: unrecognizable template
declaration/definition
.\boost/asio/impl/post.hpp(100): error C2059: syntax error: '>'
.\boost/asio/impl/post.hpp(105): error C2143: syntax error: missing ';'
before '{'
.\boost/asio/impl/post.hpp(105): error C2447: '{': missing function header
(old-style formal list?)
.\boost/asio/detail/buffer_sequence_adapter.hpp(106): error C2955:
'boost::asio::detail::buffer_sequence_adapter_base': use of class template
requires template argument list
.\boost/asio/detail/buffer_sequence_adapter.hpp(30): note: see declaration
of 'boost::asio::detail::buffer_sequence_adapter_base'
.\boost/asio/detail/buffer_sequence_adapter.hpp(208): note: see reference
to class template instantiation
'boost::asio::detail::buffer_sequence_adapter<Buffer,Buffers>' being
compiled
.\boost/asio/detail/buffer_sequence_adapter.hpp(116): error C2143: syntax
error: missing ';' before '*'
.\boost/asio/detail/buffer_sequence_adapter.hpp(116): fatal error C1003:
error count exceeds 100; stopping compilation
Has anyone else encountered the same issues and how to resolve them?
It appears that the macro BOOST_ASIO_CONCEPT is the one causing the
issue. This macro seems to have the value “concept bool” which causes the
complaint from the compiler.
Kind regards,
Leo