包装箱是否共享公共依赖关系的公共静态变量?

时间:2016-07-19 04:04:10

标签: rust

给出三个板条箱,其中两个板条箱依赖于第三个版本的一个版本,第三个板条箱将可变静态变量作为其API的一部分。

其中一个依赖包装箱对静态变量的修改是否会全局反映? Rust是否提供了控制此行为的方法?

1 个答案:

答案 0 :(得分:5)

  

其中一个相关板条箱对静态变量的修改是否会全局反映?

是。货物的最终rustc调用只会添加一次共享依赖项。如果您使用共享依赖关系的两个不同的不兼容版本,那么它将被添加"两次"。

  

Rust是否提供了控制此行为的方法?

我假设您在询问是否可以为使用它的每个依赖项创建新的静态。我不知道这样的功能。通过动态库可能存在黑客攻击,但是没有明确的功能可以复制依赖项。

如果您想要这样的行为,请更改公共依赖项以生成一个状态对象,使用它的crate可以放入它们自己的静态。