如何使用依赖的依赖类型?

whf*_*uyn 5 rust reqwest

我想使用箱子 A 中的函数返回的类型,该类型实际上是在箱子 B 中定义的,但箱子 A 不会重新导出它。

尽管我可以在我的 中明确添加 crate B Cargo.toml,但我不确定如何使其版本与 crate A 中使用的版本保持同步。

更具体地说,类型是url::ParseError,板条箱 Areqwest和板条箱 B 是url

Ibr*_*med 1

关于这个问题没有“官方”指导方针。不久前有一次关于最佳实践的讨论,但没有明确的结论。许多板条箱包装外部类型,因此它们不会直接暴露,或者重新导出项目。此处讨论了reqwest 的这个具体问题,并决定不重新导出url::ParseError

我个人的感觉是,这有点小众,所以对于那些不需要它的人来说,它只会让 API 变得混乱。对于任何确实需要检查此特定错误的人,他们可以将url包添加为依赖项。