|
|
|
|
|
by weird_trousers
222 days ago
|
|
I don't agree with some points, but I share the feeling in terms of "failed promises". The fact that most well-known Rust crates are becoming huge bloat are becoming a problem to me, which is something that has been critized years again by the community itself. As an example, I still do not understand why simple HTTP crates require more than 50 to 70 dependencies to execute a simple GET call... |
|
Looking at ureq [0], for example, its direct non-build/non-dev dependencies are (counting duplicates):
- base64
- flate2 (4 transitive dependencies)
- log
- percent-encoding
- rustls (26 transitive dependencies)
- rustls-pki-types (1 transitive dependency)
- ureq-proto (7 transitive dependencies)
- utf-8
- webpki-roots (2 transitive dependencies)
The vast majority of the raw dependency count comes from Rustls and related crates, and I'd imagine reimplementing a TLS stack would be somewhat out of scope for an HTTP crate. I'm not sure there's much room for substantial reductions in dependency count otherwise.
[0]: https://github.com/algesten/ureq