Open
Description
I would propose to merge these utility crates to the main futures
crate. There are some reasons:
futures
andfutures-util
are almost the same except that futures provide executors and channels. Also, both modules (executor and channel) seem to be relatively easy to make optional.- Most of the compile time for
futures
seems due tofutures-util
, and the compile time reduction by splitting the crate doesn't seem to work very well. - Since
futures-executor
also depends onfutures-util
, it doesn't seem to have much compile time advantage even if used individually. - As said in Add more optional features to the main futures crate #1875 (comment), if
futures
andfutures-util
are different crates, it seems impossible to add optional features tofutures
per module.
(I don't plan to add a "util" feature that enables the utility itself, but I would like to add features to enable per module in the next major version.)
futures-channel
is also a "utility crate", but it's almost independent, so I'm not sure if merging it is really preferable.