为什么编译bitflags 1.0产生一个"期望的ident,发现#"错误?

时间:2017-12-06 20:35:22

标签: rust bitflags

当我尝试使用macOS Sierra 10.12.6中的bitflags v1.0.1在Rust中构建项目时,代码失败并出现以下错误:

Compiling bitflags v1.0.1
error: expected ident, found #
   --> /Users/kenneth.marete/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.0.1/src/lib.rs:423:29
    |
423 |                               #[allow(deprecated)]
    |                               ^
    | 
   ::: /Users/kenneth.marete/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.0.1/src/example_generated.rs
    |
4   | / bitflags! {
5   | |     /// This is the same `Flags` struct defined in the [crate level example](../index.html#example).
6   | |     /// Note that this struct is just for documentation purposes only, it must not be used outside
7   | |     /// this crate.
...   |
13  | |     }
14  | | }
    | |_- in this macro invocation

我希望它能够成功构建。

1 个答案:

答案 0 :(得分:7)

由于使用早于所需最低要求的Rust版本进行编译,某些包装箱可能无法编译。它与操作系统版本或应用程序本身无关。

我有rustc 1.19.0 (0ade33941 2017-07-17)而bitflags版本1.0.1由于使用了相关的常量而具有1.20的最低支持Rust版本。

有时,通过运行rustup update来更新Rust编译器。