Hyperledger Ursa (a shared cryptographic library) has moved to end-of-life status, with the components of Ursa still in use moved to their relevant Hyperledger projects (AnonCreds, Indy, Aries and Iroha).
ursa lib depends on aead and uses aead defined types in it's public API like here. This forces the user to depend on aead in their Cargo.toml even though they make no use of aead itself except through ursa. Forcing users to manage dependency of a dependency is a malpractice.
Solution
Either reexport entire aead liib from ursa or reexport just aead types that are exposed in the public API of ursa. In the given example that would be either pub export aead or pub export aead::Error. Type aliases are also welcome
Description of the problem:
ursa
lib depends onaead
and usesaead
defined types in it's public API like here. This forces the user to depend onaead
in theirCargo.toml
even though they make no use ofaead
itself except throughursa
. Forcing users to manage dependency of a dependency is a malpractice.Solution
Either reexport entire
aead
liib fromursa
or reexport justaead
types that are exposed in the public API ofursa
. In the given example that would be eitherpub export aead
orpub export aead::Error
. Type aliases are also welcome