Cargo 中的全局特征门
Global feature gates in Cargo
我想为我的整个 Cargo 项目启用功能门控。例如,我想将 #![feature(non_ascii_idents)]
添加到每个源文件中。在 Cargo.toml
中是否有列出它们的地方?
不,尽管您没有向每个源文件添加功能门;它们是 crate 属性。也就是说,您将它们放在板条箱上,而不是每个模块上。
有两种类型的属性:
- 文件属性(以
#
开头)。它们仅适用于整个文件。
- crate 属性(以
#!
开头)。它们一次应用于整个板条箱。
您想要的 (#![feature(non_ascii_idents)]
) 是一个 crate 属性,因此您需要将它一次放在 crate 的 主文件 的顶部。该主文件通常是:
src/main.rs
对于二进制文件
src/lib.rs
图书馆
我想为我的整个 Cargo 项目启用功能门控。例如,我想将 #![feature(non_ascii_idents)]
添加到每个源文件中。在 Cargo.toml
中是否有列出它们的地方?
不,尽管您没有向每个源文件添加功能门;它们是 crate 属性。也就是说,您将它们放在板条箱上,而不是每个模块上。
有两种类型的属性:
- 文件属性(以
#
开头)。它们仅适用于整个文件。 - crate 属性(以
#!
开头)。它们一次应用于整个板条箱。
您想要的 (#![feature(non_ascii_idents)]
) 是一个 crate 属性,因此您需要将它一次放在 crate 的 主文件 的顶部。该主文件通常是:
src/main.rs
对于二进制文件src/lib.rs
图书馆