Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue: ease of use #3

Open
nrc opened this issue Dec 7, 2021 · 1 comment
Open

Tracking issue: ease of use #3

nrc opened this issue Dec 7, 2021 · 1 comment
Labels
A-ease-of-use Area: ease of use

Comments

@nrc
Copy link
Owner

nrc commented Dec 7, 2021

There are many areas of friction around async runtimes, lets try and smooth things out!

Some things that I'm aware of:

  • Be able to write async fn main and async tests without a proc macro (this is a pretty complex requirement and ties in with how an async runtime is specified. In particular, I would want to use the specified runtime (rather than a default one) if one has been specified, but what should be used for tests for libraries which should be runtime agnostic? We might want to facilitate running some tests multiple times with different runtimes, or use a special runtime or...)
  • Should we include an executor in std? We want new users to be able to get started with async programming as easily as possible, ideally without needing to choose a runtime first. One way to address this is to include a runtime in std. I personally don't think we should (or even can) pick a best runtime, so the std one would have to be minimal with the intention of all serious users swapping it out for a production-ready runtime. But what is minimal? Would supporting block_on but not spawn be ok? Do we need to support IO?

Open issues

@nrc nrc added the A-ease-of-use Area: ease of use label Dec 7, 2021
@Noah-Kennedy
Copy link

I do not think we should expose an executor for std. My main concern is that this will become the standard around which other things will be coupled, making it harder for other runtimes which do IO using different interfaces for example, to integrate with the ecosystem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-ease-of-use Area: ease of use
Projects
None yet
Development

No branches or pull requests

2 participants