-
Notifications
You must be signed in to change notification settings - Fork 665
Closed
Description
We should reevaluate which subcrates contain what parts of the futures crate. I think that we should move some things around prior to releasing an alpha to get some consistency.
- Currently it seems a bit inconsistent that the
futures_corecrate containsFutureandStreamand alsoReadyFuture,CoreFutureExt,ContextExtandAtomicWaker, but the io traits andSinkhave their own crates. I think we should establish guidelines that define what kind of things belong infutures_coreand discuss whetherfutures_coreshould exist at all. - Should there be a separation between
executorandtask? I'd say yes, but I'm not 100% sure. In any case some stuff likeLocalExecutorshould be moved intotask(as a trait). It's weird thatLocalExecutoris a struct andExecutora trait. That's unlikeFutureObj/LocalFutureObjandWaker/LocalWakerwhere always both are a trait or a struct respectively. - I would like to remove the top level exports. See this comment for a detail explanation why I think that would improve things. @Nemo157 and @seanmonstar raised some concerns and I would like to have further debate about this.
- The
futures-utilcrate feels like a kitchen sink. I've counted the lines of code in thesrc/directories of each crate and the utils crate contains three quarters of the total code (76%).- `futures/src` 485 loc - `futures-core/src` 849 loc - `futures-executor/src` 1095 loc - `futures-io/src` 372 loc - `futures-sink/src` 364 loc - `futures-util/src` 10263 loc
@Nemo157
@carllerche
@seanmonstar
@withoutboats
@aturon
@cramertj
Metadata
Metadata
Assignees
Labels
No labels