-
Notifications
You must be signed in to change notification settings - Fork 640
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
Consider flattening the crate and dropping -preview
status
#1356
Comments
By flattening do you mean merging all the crates into As far as I'm aware a major reason for the separate sub-crates was to allow semver breaking updates to parts of the API without causing pain in the ecosystem. Using sub-crates to denote this is also good for future compatibility with public/private dependencies, It could make sense to reduce the number of crates drastically though. Maybe even as far as just 3 crates: Migrating the uncontroversial functions from the extension traits onto the actual traits could make a lot of sense. I assume there's no major plan that would block this now, like waiting for GATs + existential types so that methods like I assume part of the intention with having the separate levels of update schedule would be to migrate other utilities into the more stable crates over time. Taking the same example of moving |
Relevant discussion from back around |
I still feel like channels are less stable than the traits in in the end though, all I really care about is keeping a |
There's been quite a bit of discussion since. |
As the
std
version of theFuture
trait heads toward stabilization, there are a couple questions we should revisit in terms of the organization of this crate:First, we're close to the point where I think it'd make sense to move futures 0.1 to a different crate name (
futures-old
or some such), and put out a0.3.0-beta
release onfutures
proper.Second, with 0.2 we split up the crate into a bunch of sub-crates to allow for easier iteration on the core APIs. At this point, though, we've had quite a bit of iteration and experience using these APIs with async/await/borrowing. We should consider re-flattening the crates, as well as the extension traits (especially
AsyncRead{Ext}
,AsyncWrite{Ext}
). Doing so would streamline the user experience.Thoughts?
The text was updated successfully, but these errors were encountered: