Isn't this kind of thing supported natively with C++ coroutines as of C++20?
You still need a runtime library, which should be integrated by C++23, lets see.
What C++ has better than Rust on this regard is that C++20 at least shipped at the necessary vocabulary types and compiler magic, so the plug-and-play story across runtimes (HPX, C++/WinRT, kokos,....) is much more sound today.