Rust's std
is intentionally a minimal library rather than a "kitchen sink and everything else" library. Users are expected to import functionality from the crates.io ecosystem. There are a number of reasons for this choice that have been documented repeatedly in this forum—hence forum search is strongly suggested.
Those reasons include two facts:
-
items needing special compiler support must be in std
, which then requires that std
be maintained directly by the already-overburdened compiler team. (That's why each version of std
is only compatible with the identical version of rustc
.)
-
Rust's semver
past-and-future compatibility guarantees for std
preclude any kind of breaking-change improvements
Other crates in the crates.io ecosystem do not suffer from these limitations, so by design they are intended to be the "go to" place for most functionality that doesn't require special support within the compiler.