borrow 2.0.0

Zero-overhead, safe implementation of partial borrows. This crate allows you to borrow selected fields from a struct and split structs into non-overlapping sets of borrowed fields.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
fn main() {
    println!("cargo:rerun-if-env-changed=PROFILE");
    println!("cargo:rerun-if-env-changed=CARGO_FEATURE_USAGE_TRACKING");
    println!("cargo:rerun-if-env-changed=CARGO_FEATURE_NO_USAGE_TRACKING");
    println!("cargo::rustc-check-cfg=cfg(usage_tracking_enabled)");

    let is_release = std::env::var("PROFILE").map(|v| v == "release").unwrap_or(false);
    let usage_tracking = std::env::var("CARGO_FEATURE_USAGE_TRACKING").is_ok();
    let no_usage_tracking = std::env::var("CARGO_FEATURE_NO_USAGE_TRACKING").is_ok();

    if (!is_release || usage_tracking) && !no_usage_tracking {
        println!("cargo:rustc-cfg=usage_tracking_enabled");
    }
}