fn main() { println!("cargo:rerun-if-changed=build.rs"); println!("cargo:rustc-check-cfg=cfg(slab_no_const_vec_new,slab_no_track_caller)"); 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"); } }