Smol/async-std support for hyper 1.0

The release of hyper 1.0 is definitely one of the most exciting events in the Rust community recently, second only to the final stabilization of async traits for me. One of the major improvements is the separation of the IO and runtime abstractions from the tokio's impl, allowing hyper to support runtimes other than tokio. The mainstream runtimes other than tokio in the community are smol/async-std, with the latter using the former's building blocks under the hood. Is it time to implement boilerplates for smol/async-std support similar to hyper_util::rt::tokio in hyper-util or a separate crate? The impl itself is simple enough to create, but I don't know if there are hidden traps due to differences in runtime impl details.
Also when will hyper get rid of tokio completely? Currently the hyper crate itself still has a tokio dependency, but only uses its channel impls. smol has a runtime-independent async-channel, and it is easy to impl a runtime-independent async-oneshot as well (there is the crate, and the latest unreleased version of it doesn't even have any deps thanks to stabilized std::future::poll_fn). The h2 crate, which is not yet 1.0, still uses tokio's IO API and utils, but there are already plans to standardize on hyper's IO abstraction today. As a very useful framing parsing tool, tokio_util::codec doesn't seem to have a stable runtime-independent replacement yet, and it would be nice if hyper's migration would bring one, killing two birds with one stone.

hyper 0.14 also supported runtimes other than tokio.

I noticed this just now

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.