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

Doe*_*Doe 3 rust

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

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

oli*_*obk 5

是否会对全局反映其中一个依赖包装箱对静态变量的修改?

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

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

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

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