如何在不分叉 crate 的情况下将 #![feature(***)] 添加到另一个 crate 的属性?
How do I add #![feature(***)] to another crate's attributes without forking the crate?
每次我看到如下错误:
error: associated constants are experimental (see issue #29646)
...
= help: add #![feature(associated_consts)] to the crate attributes to enable
= note: this error originates in a macro outside of the current crate
我分叉了 crate 并将功能添加到 crate 属性中,然后替换了我的 Cargo.toml 中的依赖项:
[replace."bitflags:1.0.0"]
git = "https://github.com/boehm-s/bitflags"
rev = "bb2afce"
有没有办法在不分叉 crate 的情况下消除这些错误?
最近在 Rust 1.20 中稳定了相关常量;如果升级 Rust 编译器,此错误应该会消失,无需任何代码更改。
除[replace]
and [patch]
, there's also the option of using .cargo/config
to override a dependency locally外不改Cargo.toml
.
How do I add #![feature(***)] to another crate's attributes without forking the crate?
你不会。你不能改变另一个板条箱而不...改变它。
您使用的是旧的夜间编译器; 更新它。如果您使用的是夜间编译器,则您有责任使其保持最新状态。如果您不知道为什么要使用夜间编译器,请切换到稳定的编译器。
只有在以下情况下才会出现这种情况:
- 您正在使用夜间编译器。如果不是,您将不会得到添加该属性的建议,这将是一个硬错误。
- 您使用的 crate 依赖于您的编译器版本中尚未稳定的功能,因此需要属性来启用它。
- 该功能已在较新版本的 Rust 中稳定下来,因此箱子本身不再需要具有该属性。
对于此示例,您可以阅读 the crates changelog:
1.0.0
[breaking change] Macro now generates associated constants (#24)
[breaking change] Minimum supported version is Rust 1.20, due to usage of associated constants
每次我看到如下错误:
error: associated constants are experimental (see issue #29646)
...
= help: add #![feature(associated_consts)] to the crate attributes to enable
= note: this error originates in a macro outside of the current crate
我分叉了 crate 并将功能添加到 crate 属性中,然后替换了我的 Cargo.toml 中的依赖项:
[replace."bitflags:1.0.0"]
git = "https://github.com/boehm-s/bitflags"
rev = "bb2afce"
有没有办法在不分叉 crate 的情况下消除这些错误?
最近在 Rust 1.20 中稳定了相关常量;如果升级 Rust 编译器,此错误应该会消失,无需任何代码更改。
除[replace]
and [patch]
, there's also the option of using .cargo/config
to override a dependency locally外不改Cargo.toml
.
How do I add #![feature(***)] to another crate's attributes without forking the crate?
你不会。你不能改变另一个板条箱而不...改变它。
您使用的是旧的夜间编译器; 更新它。如果您使用的是夜间编译器,则您有责任使其保持最新状态。如果您不知道为什么要使用夜间编译器,请切换到稳定的编译器。
只有在以下情况下才会出现这种情况:
- 您正在使用夜间编译器。如果不是,您将不会得到添加该属性的建议,这将是一个硬错误。
- 您使用的 crate 依赖于您的编译器版本中尚未稳定的功能,因此需要属性来启用它。
- 该功能已在较新版本的 Rust 中稳定下来,因此箱子本身不再需要具有该属性。
对于此示例,您可以阅读 the crates changelog:
1.0.0
[breaking change] Macro now generates associated constants (#24)
[breaking change] Minimum supported version is Rust 1.20, due to usage of associated constants