Skip to content

Fix/iocp ctor incomplete type#328

Merged
sgerbino merged 2 commits into
cppalliance:developfrom
sgerbino:fix/iocp-ctor-incomplete-type
Jul 24, 2026
Merged

Fix/iocp ctor incomplete type#328
sgerbino merged 2 commits into
cppalliance:developfrom
sgerbino:fix/iocp-ctor-incomplete-type

Conversation

@sgerbino

Copy link
Copy Markdown
Collaborator

Resolves #325.

sgerbino added 2 commits July 24, 2026 17:00
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.
@cppalliance-bot

Copy link
Copy Markdown

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

@cppalliance-bot

Copy link
Copy Markdown

GCOVR code coverage report https://328.corosio.prtest3.cppalliance.org/gcovr/index.html
LCOV code coverage report https://328.corosio.prtest3.cppalliance.org/genhtml/index.html
Coverage Diff Report https://328.corosio.prtest3.cppalliance.org/diff-report/index.html

Build time: 2026-07-24 16:25:57 UTC

@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.53%. Comparing base (953f592) to head (67ac0d4).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files

Impacted file tree graph

@@             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     
Files with missing lines Coverage Δ
...boost/corosio/native/detail/iocp/win_scheduler.hpp 63.33% <ø> (+0.83%) ⬆️

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 953f592...67ac0d4. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sgerbino
sgerbino merged commit ca65980 into cppalliance:develop Jul 24, 2026
78 of 85 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Beast2 Jul 24, 2026
@sgerbino
sgerbino deleted the fix/iocp-ctor-incomplete-type branch July 24, 2026 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Build failure on windows

2 participants