Stiffstream / restinio

Cross-platform, efficient, customizable, and robust asynchronous HTTP(S)/WebSocket server C++ library with the right balance between performance and ease of use
Other
1.15k stars 93 forks source link

m_write_groups.erase() is noexcept in MSVC #64

Closed ahmedyarub closed 4 years ago

ahmedyarub commented 4 years ago

Right here you can see the change: https://github.com/Stiffstream/restinio/commit/7ab2fd3551d413e960cf831ef6dc285eeac2642f#diff-014dfa4235c0e34420ccb97dba6181d7R97

I had to comment this macro out for the compilation to proceed. It looks like the vector header that ships with Visual Studio 2019 defines erase() as a noexcept.

eao197 commented 4 years ago

Which version of VC++ do you use?

Mine is 19.22.27905.

eao197 commented 4 years ago

I've updated VisualStudio 2019 to 16.3.10 (VC++ version is 19.23.28107), and there is no compilation error (in C++14 and C++17 modes).

ahmedyarub commented 4 years ago

I'm using MSVC 14.24.28314 which comes with Visual Studio Enterprise 2019 Preview Version 16.4.0 Preview 6.0. You can see the function definition with noexcept here: https://github.com/microsoft/STL/blame/8f4c8163775d665d80642044ce27c4bc696127ce/stl/inc/vector#L1341

eao197 commented 4 years ago

I've merged a fix into master branch. Can you check it with your VC++ compiler?

ahmedyarub commented 4 years ago

worked like a charm thank you!

eao197 commented 4 years ago

Thanks for reporting this issue.