Skip to content

Add missing requirements to IoRunnable and task#165

Merged
vinniefalco merged 1 commit intocppalliance:developfrom
vinniefalco:develop
Feb 14, 2026
Merged

Add missing requirements to IoRunnable and task#165
vinniefalco merged 1 commit intocppalliance:developfrom
vinniefalco:develop

Conversation

@vinniefalco
Copy link
Member

@vinniefalco vinniefalco commented Feb 14, 2026

Summary by CodeRabbit

  • New Features

    • Enhanced IoRunnable concept with new promise type operations for continuation and environment management.
    • Expanded coroutine promise API with additional configuration capabilities.
  • Documentation

    • Updated to reflect new promise type operations and constraints.

@coderabbitai
Copy link

coderabbitai bot commented Feb 14, 2026

📝 Walkthrough

Walkthrough

The IoRunnable concept is expanded to include two new promise_type methods: set_continuation() and set_environment(). These additions require types conforming to the concept to implement continuation and environment-setting capabilities, with corresponding constraint additions enforcing these requirements.

Changes

Cohort / File(s) Summary
IoRunnable Concept Expansion
include/boost/capy/concept/io_runnable.hpp
Added #include <boost/capy/ex/io_env.hpp>. Extended promise_type public interface with set_continuation(std::coroutine_handle<>) noexcept and set_environment(io_env const*) noexcept methods. Updated IoRunnable concept signature to include mutable promise_type parameter and added constraints requiring both new methods to be callable with specified arguments.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A coroutine hops with grace,
Continuations find their place,
With environment so clear,
New promises draw near!
The concept now complete,
Makes async flows so neat! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly reflects the main change - adding requirements to IoRunnable concept by implementing set_continuation and set_environment methods.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into develop

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cppalliance-bot
Copy link

An automated preview of the documentation is available at https://165.capy.prtest3.cppalliance.org/index.html

If more commits are pushed to the pull request, the docs will rebuild at the same URL.

2026-02-14 08:30:57 UTC

@cppalliance-bot
Copy link

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

Build time: 2026-02-14 08:45:42 UTC

@vinniefalco vinniefalco merged commit 8bcc0fa into cppalliance:develop Feb 14, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants