给出三个板条箱,其中两个板条箱依赖于第三个版本的一个版本,第三个板条箱将可变静态变量作为其API的一部分。
其中一个依赖包装箱对静态变量的修改是否会全局反映? Rust是否提供了控制此行为的方法?
答案 0 :(得分:5)
其中一个相关板条箱对静态变量的修改是否会全局反映?
是。货物的最终rustc调用只会添加一次共享依赖项。如果您使用共享依赖关系的两个不同的不兼容版本,那么它将被添加"两次"。
Rust是否提供了控制此行为的方法?
我假设您在询问是否可以为使用它的每个依赖项创建新的静态。我不知道这样的功能。通过动态库可能存在黑客攻击,但是没有明确的功能可以复制依赖项。
如果您想要这样的行为,请更改公共依赖项以生成一个状态对象,使用它的crate可以放入它们自己的静态。