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"
登录后复制

以上就是Rust依赖传递与Java Maven有何不同?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部