So you have a standard trait from the language officially, that is useless without a third party library?
So you have a standard trait from the language officially, that is useless without a third party library?
The reason they’re external is, depending on what you want to do, you’ll want an executor with different characteristics. An embedded executor has very different needs than a network IO executor than a GUI event loop. By stabilizing the trait, we can ensure library compatibility: everyone agrees on the same interface.
Given that we’ve invested so much in making it easy to add libraries to your project, including a single one wouldn’t be appropriate.
Are there talks to make that a reality in the next 18 months?
Is `async / .await` going to be just syntactic sugar around `Future` or is it going to necessitate an executor lives in the standard library?
async / .await are going to turn functions into Futures, and they by themselves don't necessitate an executor any more than the Future trait itself.
Here Java, .NET and future C++ are a clear winner, given that they are part of the standard library.
There’s no plans to add an executor to std for all the reasons I’ve said.
Standard library executors are guaranteed to be available across all platforms supported by the compiler, with a validated level of quality for production loads.
Random implementation from Internet not so much.
There are some real disadvantages to putting Tokio in the standard library, for example tying Tokio releases to the standard library release cycle and making it difficult/impossible for people to use non-latest versions of Tokio.
Note as well that Tokio isn't the only library that can be used here, there's plenty of experimentation in this space.