每次我看到如下错误:
错误:关联常量是实验性的(参见问题#29646)... = help:将#![feature(associated_consts)]添加到crate属性以启用=注意:此错误源自当前包的外部宏
我将crate分叉并将该功能添加到crate属性中,然后替换我的Cargo.toml中的依赖项:
[replace."bitflags:1.0.0"]
git = "https://github.com/boehm-s/bitflags"
rev = "bb2afce"
有没有办法摆脱这些错误而不分拣板条箱?
2 回答
你 don't . 如果不改变它,你就无法改变另一个箱子 .
您正在使用旧的夜间编译器; update it . 如果您使用的是夜间编译器,那么's your responsibility to keep it up-to-date. If you don'知道为什么您有夜间编译器,切换到稳定的编译器 .
只有在以下情况下才会发生
您正在使用夜间编译器 . 如果你没有得到添加属性的建议,那将是一个很难的错误 .
您正在使用的crate依赖于您的编译器版本中尚未稳定的功能,因此需要该属性才能启用它 .
该功能已在较新版本的Rust中得到稳定,因此包不再需要具有该属性本身 .
在本例中,您可以阅读the crates changelog:
相关的常数最近在Rust 1.20中得到了稳定;如果升级Rust编译器,此错误应该在没有任何代码更改的情况下消失 .
除了[replace] and [patch]之外,还可以选择使用.cargo/config来override a dependency locally而不更改
Cargo.toml
.