rust 的依赖传递
在 Java 中,maven 会执行依赖传递,这意味着如果模块 a 依赖于模块 b,而 b 依赖于模块 c,那么 a 也可以使用 c 的内容。然而,在 rust 中,这种情况却并非如此。
rust 中的依赖传递
在 rust 中,cargo 包管理器处理依赖传递。与 maven 不同,rust 的依赖传递是私有的。这意味着:
立即学习“Java免费学习笔记(深入)”;
- 如果一个依赖链为 a -> b -> c,那么 a 只能访问 b 中公开导出的 api。
- a 无法直接访问 c 里的内容,即使 b 依赖于 c。
如果你希望在 a 中访问 c 的内容,需要将 c 作为 a 的直接依赖。例如,假设你有以下依赖链:
a -> b -> c
要让 a 访问 c 的内容,需要将 c 添加到 a 的 cargo.toml 文件中:
# Cargo.toml [dependencies] b = "0.1.0" c = "0.1.0"