2 个版本
使用旧的 Rust 2015
0.1.1 | 2018年6月7日 |
---|---|
0.1.0 | 2018年6月7日 |
1150 在 开发工具
每月下载 145,309 次
在 1,458 个 Crates 中使用(通过 bv)
9KB
feature-probe-rs:从 build.rs
中检测 rustc 特性
为了支持 Rust 的多个版本,通常需要条件编译库或程序的部分。允许用户指定要启用哪些特性是可能的,但检测更好,因为用户将获得其 Rust 版本支持的所有特性。虽然我们可以检查 rustc 版本,但探测个别特性更好。这样,代码在夜间和特定特性稳定后的稳定版本上都能工作,而无需更改。
用法
它在 crates.io 上,因此您可以添加
[build-dependencies]
feature-probe = "0.1.1"
然后添加到您的 build.rs
extern crate feature_probe;
use feature_probe::Probe;
然后您可以探测诸如类型或表达式之类的特性。例如
fn main () {
let probe = Probe::new();
if probe.probe_type("i128") {
println!("cargo:rustc-cfg=int_128");
}
if probe.probe_type("::std::ops::RangeInclusive<u64>") {
println!("cargo:rustc-cfg=inclusive_range");
}
}
此 crate 支持 Rust 版本 1.16.0 及更高版本。