Source code

Revision control

Copy as Markdown

Other Tools

fn main() {
let cfg = match autocfg::AutoCfg::new() {
Ok(cfg) => cfg,
Err(e) => {
// If we couldn't detect the compiler version and features, just
// print a warning. This isn't a fatal error: we can still build
// Slab, we just can't enable cfgs automatically.
println!(
"cargo:warning=slab: failed to detect compiler features: {}",
e
);
return;
}
};
// Note that this is `no_`*, not `has_*`. This allows treating as the latest
// stable rustc is used when the build script doesn't run. This is useful
// for non-cargo build systems that don't run the build script.
if !cfg.probe_rustc_version(1, 39) {
println!("cargo:rustc-cfg=slab_no_const_vec_new");
}
if !cfg.probe_rustc_version(1, 46) {
println!("cargo:rustc-cfg=slab_no_track_caller");
}
}