Cargo: 可选依赖项无法启用功能

创建于 2015-08-21  ·  3评论  ·  资料来源: rust-lang/cargo

在 crate X 中,具有可选的依赖项 A 和 X 的强制依赖项 B,与前者关联的特性 A 不能启用 B 中具有相同名称的特性。这意味着必须引入一个具有不同名称的附加特性,使得事情乱。

最有用的评论

我还发现功能和(可选?)依赖项共享相同的命名空间令人困惑。

所有3条评论

用例:

我正在向 rust-encoding 添加 SIMD 优化。 我希望将该功能命名为“simd”并在内部板条箱编码类型中启用相同的功能。

[features]
simd = ["encoding-types/enable-simd"]

[dependencies.simd]
git = "https://github.com/nox/simd"
rev = "438780ca236b1ed2caf032edebda9c9362eaabc6"
optional = true

这是行不通的,因为你不能有一个可选的依赖项和一个特性具有相同的名称。

我还发现功能和(可选?)依赖项共享相同的命名空间令人困惑。

是的,现在您必须选择一个单独的功能名称来激活功能和依赖项,否则尽管这已包含在 #1286 中,所以我将关闭以支持它。

此页面是否有帮助?
0 / 5 - 0 等级