Skip to content

Use cargo features to reduce needless dependencies from arti-rpc-client-core

Nick Mathewson requested to merge nickm/arti:rpclib-dependency-reduction into main

The arti-rpc-client-core crate is a library that's meant to be used by applications outside Arti, to control an Arti process via RPC. There's no reason that it should depend on stuff like our entire cryptography ecosystem, or on the futures library. But previously, due to some of our crates' recursive dependencies, it did!

(These dependencies had no real effect on binary size, since the Rust compiler is good at throwing away stuff it doesn't need. But their presence did have a slowdown effect on my build times for arti-rpc-client-core.)

This branch removes roughly 40% of the dependencies from arti-rpc-client-core.

Merge request reports

Loading