I also would prefer for Rust to have a more "modular" std
. Not necessary on the level of Vec
being implemented in a crates.io crate, but at least as additional "sysroot" crates. std
then could play a role of a convenience facade crate which simply re-exports items from other crates.
It would make it easier to see what is required by which crate, e.g. I could easily see that foo
uses HashMap
, while bar
does something with file system. Obviously, this does not provide any guarantees, but it still can be useful. And it would make it easier to introduce other sysroot crates and implement partial std
support for new targets.
Unfortunately, I don't have high hopes for this to be implemented in Rust 1. Similar ideas were proposed in the past with disappointingly low traction.