-
Notifications
You must be signed in to change notification settings - Fork 640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build error call to 'async_teardown' is ambiguous with Visual Studio 2022 17.5.2 and clang-cl LLVM 16.0.0 #2661
Comments
Weird, I tested on that compiler version earlier today. It's too late to fix for 1.82, we'll hopefully have something in 1.83. |
Thanks for the quick response @klemens-morgenstern . Maybe the problem is only in combination with boost 1.81? I did not test 1.82 beta, so keeping fingers crossed that 1.82 final does not have the problem (or do you think it will?). |
I just tried to build boost 1.81.0 on Ubuntu 22.04 x86_64 with clang from LLVM 16.0.0 (official upstream Ubuntu packages). The build fails with the same error! So either my build settings are rigged (which I can not think), or the problem affects clang 16 in general, not just clang-cl! Help would be greatly appreciated :-( |
#2648 same issue, it is a bug in Clang 16, triggered only with |
Thanks @vient for making the connection! @klemens-morgenstern , should this issue now be closed in favor of the upstream LLVM issue? There is probably not much boost beast team can do here? |
I'm getting the same error on clang now, and it looks to be a compiler error. I can't find a workaround. /home/klemens/develop/boost/libs/beast/include/boost/beast/ssl/ssl_stream.hpp:690:5: note: candidate function [with AsyncStream = boost::beast::basic_stream<boost::asio::ip::tcp>, TeardownHandler = boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp>>>::read_some_op<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp>>>::read_op<boost::beast::detail::bind_front_wrapper<void (session::*)(boost::system::error_code, unsigned long), std::shared_ptr<session>>, boost::beast::basic_flat_buffer<std::allocator<char>>>, boost::asio::mutable_buffer>]
async_teardown(
^
/home/klemens/develop/boost/libs/beast/include/boost/beast/ssl/ssl_stream.hpp:713:1: note: candidate function [with AsyncStream = boost::beast::basic_stream<boost::asio::ip::tcp>, TeardownHandler = boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp>>>::read_some_op<boost::beast::websocket::stream<boost::beast::ssl_stream<boost::beast::basic_stream<boost::asio::ip::tcp>>>::read_op<boost::beast::detail::bind_front_wrapper<void (session::*)(boost::system::error_code, unsigned long), std::shared_ptr<session>>, boost::beast::basic_flat_buffer<std::allocator<char>>>, boost::asio::mutable_buffer>] |
Nevermind, the concept is causing the problem. I think we can somewhat safely disable that. Can you check if #2683 does it for you? |
Yeah, I mentioned in #2648 that we ended up applying essentially the same patch ourselves, it works. |
I think just defining |
I get the following build error since updating Visual Studio 2022 to 17.5.2 and clang-cl LLVM to 16.0.0:
Version of Beast
I'm using Beast from official boost 1.81.0.
Steps necessary to reproduce the problem
The code is pretty similar to
advanced_server_flex
in case that helps?All relevant compiler information
The compiler is
clang-cl
from official upstream LLVM, version 16.0.0. It uses Microsoft headers and libraries from Visual Studio 2022 17.5.2.The text was updated successfully, but these errors were encountered: