4 ms·
>> What would a non-anemic STD look like? More like the standard libraries found in C++, Ada, Go, or Python. Why can't Rust do something like C++ does with Bo
by thesuperbigfrog 3y ago
>> What would a non-anemic STD look like?
More like the standard libraries found in C++, Ada, Go, or Python.
Why can't Rust do something like C++ does with Boost?
If everyone is using a given crate (for example, serde) why not "adopt" it into the standard library? Give the maintainer a plaque that looks cool and a small fee for initial adoption and a recurring stipend for continued maintenance.
The crate becomes official, gets guaranteed maintenance and there is less need to reinvent the wheel or worry that a good crate will go unmaintained or have issues.
- steveklabnik 3y agoNote that boost is also not the C++ standard library. A few people have tried to make boost-like meta-packages in Rust over the years, but in practice, people don’t use them, and they die out. Also, like, serde's main maintainer is also a member of the libs team, so it being moved into the standard library meaning more maintenance doesn't really make sense to me.
- thesuperbigfrog 3y ago>> Note that boost is also not the C++ standard library. I know, but many components that are now in the C++ standard library were previously in Boost or were heavily influenced by / inspired by Boost: https://stackoverflow.com/questions/59912393/boost-libraries-that-made-it-into-the-c-standard https://stackoverflow.com/questions/59912393/boost-libraries... Similar events also happened in Java 8 with the Joda time library: https://www.joda.org/joda-time/ https://www.joda.org/joda-time/ >> serde's main maintainer is also a member of the libs team, so it being moved into the standard library meaning more maintenance doesn't really make sense to me. I did not know that. I was just using serde as an example of a widely-used crate that feels essential enough to be included in the Rust standard library. At what point does a third-party crate become so useful that it might be considered for inclusion in the Rust standard library? Is there a process for adding crates to the Rust standard library? If so, how do such crates get nominated and approved?
- steveklabnik 3y agoThe process is roughly the same as the boost one: the rust project maintains a number of packages outside the standard library, such as regex. Projects may graduate from the community to being owned by the project. And then, if the team decides that it's a good decision, a package owned by the project can move into the standard library. It happens pretty rarely because there is not much advantage to doing so, but the path does exist.