Rust 货物功能能否在不强制激活这些板条箱的情况下启用可选依赖项的功能?

Rust 货物功能能否在不强制激活这些板条箱的情况下启用可选依赖项的功能?,rust,rust-cargo,Rust,Rust Cargo,这是图书馆板条箱的Cargo.toml。它支持两种不同的嵌入式电路板,在电路板支撑板条箱board-a和board-b上有可选的依赖项,通过运行cargo build--features target-a只选择其中一种 还有一个通用的第三方模块,可以选择使用const fn功能。此选项显示在库板条箱中: [dependencies] common = {...} board-a = {optional=true, ...} board-b = {optional=true, ...} [fea

这是图书馆板条箱的Cargo.toml。它支持两种不同的嵌入式电路板,在电路板支撑板条箱
board-a
board-b
上有可选的依赖项,通过运行
cargo build--features target-a
只选择其中一种

还有一个通用的第三方模块,可以选择使用
const fn
功能。此选项显示在库板条箱中:

[dependencies]
common = {...}
board-a = {optional=true, ...}
board-b = {optional=true, ...}

[features]
const-fn = ["common/const-fn"]
target-a = ["board-a"]
target-b = ["board-b"]
到目前为止还不错,但是如果
board-a
board-b
板条箱也有可选的
const-fn
功能,并且我想向库板条箱的用户公开这些选项,该怎么办?我可以在不创建
target-a-const-fn
target-b-const-fn
功能的情况下执行此操作吗?我公开的可选功能越多,或者我们支持的电路板越多,这显然会变得非常混乱

我不想让
const fn
特性同时出现在两个板箱中——只应使用选定的一个,否则将不必要地增加下载和编译时间。理想情况下,我想要与以下内容等效的东西,但就我所能看到的而言,它根本不存在:

[features]
const-fn = ["common/const-fn", "board-a/const-fn" if target-a, "board-b/const-fn" if target-b]
target-a = ...

不,Cargo目前不支持此功能,尽管此功能有。

增加下载次数[,,]次-我认为所有依赖项,无论是否可选,都将被下载。。。