Yes it's VERY important to differenciate between async/await support (co-rutine) and doing async-io.
The problems all come from async-io.
"Pure" async/await can be mixed and matched in rust without any problems.
But the moment you touch IO (including timeout) a reactor is needed and things get complicated.
And again, they don’t make GTK and Qt and boost Asia eventloops interoperable. Even if you implement co_await support for each of them individually