【问题标题】:How do I 'pass down' feature flags to subdependencies in Cargo?如何将功能标志“传递”到 Cargo 中的子依赖项?
【发布时间】:2017-02-22 14:38:58
【问题描述】:

我正在用 Cargo 编写一个库。如果这个库依赖于另一个库,如 libc,它公开了一个特性(在本例中为 use_std),我如何使我公开的特性在我的依赖项中启用或禁用该特性?

查看cargo documentation,似乎没有指定官方方法来执行此操作。

【问题讨论】:

标签: rust rust-cargo


【解决方案1】:

来自the documentation you linked to

# Features can be used to reexport features of other packages. The `session`
# feature of package `awesome` will ensure that the `session` feature of the
# package `cookie` is also enabled.
session = ["cookie/session"]

够了吗?

【讨论】:

  • 嗯,如果我有一个像 ascii 这样的依赖项,它暴露了一个 no_std 标志 - 如果我的 use_std 标志启用,我想禁用
  • @burtonageo 一个有趣的问题,您可能会为此提出一个单独的顶级问题!它甚至可能是一个功能请求。不过,特别是对于no_std,我觉得我听说正确的做法是拥有一个默认功能,可以使用来自std 的东西,所以也许ascii 板条箱只是倒退了.. .
  • 是的,我听说功能是加法的,而不是减法的,所以我认为最好的办法是向他们提出拉取请求。
猜你喜欢
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 2023-02-16
  • 2020-10-24
  • 2015-08-30
  • 1970-01-01
  • 2018-02-22
相关资源
最近更新 更多