Fix/iocp ctor incomplete type#328
Conversation
The IOCP backend only compiles on the Windows legs, and none of them exercised anything newer than C++20; newest-standard coverage existed only on platforms where that backend preprocesses away. Use cxxstd=latest rather than 23: the msvc toolset (whose flags clang-win inherits) has no /std: mapping for 23, so cxxstd=23 emits no standard flag, the cxx20_hdr_concepts configure check fails at the C++14 default, and b2 silently skips every target in that variant. latest maps to /std:c++latest, which enables the C++23-and-later library (_HAS_CXX23) on clang-cl.
The constructor's unwind path destroys the unique_ptr<win_wait_reactor> member, so its definition odr-uses the deleter. In C++23 unique_ptr's destructor is constexpr and gets instantiated eagerly at the point of definition, where win_wait_reactor was still incomplete. Move the ctor below the deferred win_wait_reactor.hpp include, alongside the dtor and shutdown() which already live there for the same reason.
|
An automated preview of the documentation is available at https://328.corosio.prtest3.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-07-24 16:04:05 UTC |
|
GCOVR code coverage report https://328.corosio.prtest3.cppalliance.org/gcovr/index.html Build time: 2026-07-24 16:25:57 UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #328 +/- ##
===========================================
+ Coverage 77.47% 77.53% +0.05%
===========================================
Files 96 96
Lines 6868 6854 -14
Branches 1652 1645 -7
===========================================
- Hits 5321 5314 -7
+ Misses 1055 1054 -1
+ Partials 492 486 -6
Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
Resolves #325.