What's the advantage and disvantage of rust's zero cost async abstraction compared to C++ p2300 proposal

https://www.reddit.com/r/cpp/comments/15aqz09/request_a_detailed_comparison_between_p2300_and/

Was there something specific from that thread you wanted discussed here?

My main takeaway was that Rust has been designed to support things like pre-emption (implemented as a budget after which a task yields to the scheduler) and work-stealing, which the C++ proposal does not(?). Note I haven't read the C++ proposal, just comments on that thread.

The counterpoint was that Rust currently requires Box for async-trait but that will go away one Rust has first class support via natively async traits and TAIT.