On the note of runtimes that are “outside the boxes” of tokio and async-std, I found a really cool generator lib [0] for Rust that uses async/await (and has macro API to hide this if you want) but implements an extremely simple runtime that just implements the semantics of generators. I thought it was absolutely genius and underrated.
I wonder how it would be if Rust, like Scala came with a very basic executor? For me external crates no matter how popular, seem a no-go because of them constantly changing.
No. As of now, std does not contain any executors. Only the minimal machinery that the compiler needs to know about in order to translate async code into structs implementing the Future trait.
I think we will see an executor in std at some point, but seeing how executor design is still an ongoing area of research, it's really good that they didn't include an executor in std prematurely.
[0] https://lib.rs/crates/genawaiter