As discussed in Is it documented that Cargo can download and bundle multiple versions of the same crate?, it's possible for Cargo to pull in multiple versions of the same crate for a single program. How do I access both of these versions concurrently?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
As of Rust 1.31, you can use the rename-dependency Cargo feature:
[dependencies]
futures-01 = { package = "futures", version = "0.1.0" }
futures-03 = { package = "futures", version = "0.3.0" }
You can choose whatever name you want for the key. The package
attribute needs to be the official name of the crate.
Within your code, you can access version 0.1.x using the crate name futures_01
, and version 0.3.x via futures_03
.
See also:
- How to idiomatically alias a crate in Rust 2018?
- Why is a trait not implemented for a type that clearly has it implemented?