Skip to content
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

Tracking Issue: Async support for C++ binding #5194

Open
1 of 4 tasks
Tracked by #2981
PragmaTwice opened this issue Oct 17, 2024 · 1 comment
Open
1 of 4 tasks
Tracked by #2981

Tracking Issue: Async support for C++ binding #5194

PragmaTwice opened this issue Oct 17, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@PragmaTwice
Copy link
Member

PragmaTwice commented Oct 17, 2024

Feature Description

Related to #2981, #3156.

Problem and Solution

We can add async support for C++ binding since C++20 coroutine is already a widely-used feature.

By utilizing cxx-async lib, we can generate interop code between Rust async/await and C++20 coroutines.

For C++ coroutine runtimes, cxx-async currently supports cppcoro and folly. We can further add support of asio and (maybe) libunifex, since asio is the de-facto networking lib and libunifex is the impl of std::execution which will be merged into c++26? (29? 32?).

For other coroutines (mostly stackful coroutine libs), like Boost.Fiber, Boost.Coroutine2, currently it's out of our interest.

Additional Context

Are you willing to contribute to the development of this feature?

  • Yes, I am willing to contribute to the development of this feature.
@Xuanwo
Copy link
Member

Xuanwo commented Oct 17, 2024

EPIC!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants