You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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?
The text was updated successfully, but these errors were encountered: